这其实就是NoSQL和SQL的应用场景的区别。另外现在貌似pgSQL也支持JSON了,似乎性能可以喝MongoDB媲美。MongoDB这种文档型的NoSQL基本可以看成一个键值对存储,如果你的业务总是能知道key,那么MongoDB是一个好选择,比如游戏的玩家信息(因为总是知道玩家ID,而且玩家ID是适合做主键的),就是非常典型的NoSQL的应用场景。另外一点就是可以存储多种数据类型,比如有的时候我们想存一个列表,在MySQL中就只能拼成字符串来存,但是NoSQL本身就支持列表,所以可以尽可能的保持数据结构。SQL的强项还是关系模型了,在不知道主键的情况下,查询的灵活性和效率都能得到很好地优化,适合网站这类的应用,因为很难提前确定要根据某个条件进行查询,关系模型的表达能力是很强的。搭配的话,就是传统业务很成熟稳定的框架该用MySQL还用MySQL,如果是有大量的键值对数据需要随机存取,可以将这些数据放在MongoDB中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。