在 DBMS 选型的时候通常通过哪些维度和思路来进行考察?
假设我初步选定 Mysql,MongoDB,Redis 作为考察对象。
我需要从以下方面来进行比较:
等方面来进行比对,那在每一个维度里我该如何考评?
1
Aksura 2015-12-06 11:58:16 +08:00 1
要建的是什么类型的数据库? OLTP 还是 OLAP ?
性能偏重的是什么?写性能?读性能? |
2
Kv_se7en OP @Aksura 应该是 OLTP ,偏重写功能。我大概意思是就是如果某个业务场景选择这几种 DBMS 都可以的话,我应该从哪些方面去分析和对比如何选择。
|
3
Aksura 2015-12-07 23:24:51 +08:00
@Kv_se7en ,我工作中 OLTP 的库是 MongoDB ,这个是团队的历史选择。我个人的观点是看应用使用的时候哪个更方便,否则应用自己使用方法不恰当造成的问题会挺多的。
性能这个参考 TPC 公布的官方数据库性能基准。具体性能也是要看机器还有 DBA 配置。我工作中看 MongoDB 在大量数据高速写入的时候,感觉性能不是挺让人满意。 MongoDB 对写入有个 write concern 参数,优先保证性能的参数值有丢失数据的风险,保证数据写入又影响性能。 如果怕丢数写入量又大,个人建议还是考察 MySQL 、 Redis 。 稳定性单看你列出的都不是新出的东西了,软件本身的稳定性应该还是可以的。主要还是看 DBA 配置。 可扩展性看官方文档上,是不是支持要部署的数据库规模和用户数量。 可维护性我觉得要看官方提供的工具和第三方工具数量是否足够多、足够好用。用的人多的肯定优先考虑,不然出个问题都找不到解决案例。 我看你没有提到是否有多个多个“表”比较的这种需求,如果有这个需求,还是建议用 MySQL 好。 |