是否需要将 MySQL 换成 mongoDB?


使用场景是这样的:

  1. 总数据量大,但每个用户单独的数据量不大。
  2. 移动 App 需要有离线的本地数据库,并且与服务器端的数据库同步。
  3. 同步的中间数据初步打算用 JSON 来做。
  4. 对数据一致性有要求。

现在用的是 MySQL,考虑 mongoDB 的主要原因是:

  1. 查询速度快。
  2. 较好的 JSON 支持。

另外,我对 mongoDB 了解较少,想请教一下,什么场景更适合使用 mongoDB,什么场景更适合使用传统的关系数据库?

谢谢。

数据库 mysql mongodb

C.罗纳尔多 11 years, 1 month ago

优势

  • 适合存储和查询对象化数据以及 JSON 化数据。
  • 查询写入高效,适合读写较频繁的系统。
  • 支持 MapReduce ,适应于分布式系统。

劣势

  • 初期数据库设计需及其谨慎,初期设计一定要有前瞻性,否则后期扩展起来很痛苦,尤其是内嵌文档的层次一定要设计恰当。
  • 安全性不如 sql ,例如插入数据时,如果多了一个未知字段仍然可以插入, mongo 会新建一个新的字段存储未知数据, sql 显然不允许。
  • 数据严谨性方面不如 sql ,容易产生数据的不一致。

所以我认为一个读写较为频繁,数据量较大的系统可以采用 mongo ,而一个安全性要求较高,而交互性不高的系统不建议使用 mongo
当然,我 mongo 用得也不久,以上只是一些个人的看法,希望对题主有帮助。

酒醉人自醉 answered 11 years, 1 month ago

Your Answer