使用场景是这样的:
总数据量大,但每个用户单独的数据量不大。
移动 App 需要有离线的本地数据库,并且与服务器端的数据库同步。
同步的中间数据初步打算用 JSON 来做。
对数据一致性有要求。
现在用的是 MySQL,考虑 MongoDB 的主要原因是:
查询速度快。
较好的 JSON 支持。
另外,我对 MongoDB 了解较少,想请教一下,什么场景更适合使用 MongoDB,什么场景更适合使用传统的关系数据库?
本问题及下方已被采纳的回答均来自云栖社区【Redis&MongoDB 社区大群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。
优势
适合存储和查询对象化数据以及 JSON 化数据。
查询写入高效,适合读写较频繁的系统。
支持 MapReduce,适应于分布式系统。
劣势
初期数据库设计需及其谨慎,初期设计一定要有前瞻性,否则后期扩展起来很痛苦,尤其是内嵌文档的层次一定要设计恰当。
安全性不如 sql,例如插入数据时,如果多了一个未知字段仍然可以插入,mongo 会新建一个新的字段存储未知数据,sql 显然不允许。
数据严谨性方面不如 sql,容易产生数据的不一致。
所以我认为一个读写较为频繁,数据量较大的系统可以采用 mongo,而一个安全性要求较高,而交互性不高的系统不建议使用 mongo。
当然,我 mongo 用得也不久,以上只是一些个人的看法,希望对题主有帮助。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。