MongoDB相比MySQL和PostgreSQL有哪些优点?
我一直在考虑在下一个项目中使用MongoDB(用Python),但现在我还不太明白使用NoSQL的MongoDB相比于SQL有什么好处。
你能给我一些为什么要使用NoSQL MongoDB的想法或理由吗?
提前谢谢你!
2 个回答
0
因为MongoDB是一种面向文档的数据库,就像RavenDB一样,下面的内容可能会给你一些启发:
这种没有固定结构的特点使得它非常适合存储动态数据,比如内容管理系统(CMS)和客户关系管理系统(CRM)中的数据,这些数据通常可以由最终用户根据需要进行自定义,或者是一些半结构化的数据(由人提供)。此外,Raven还提供了强大的索引机制,允许你将一个Linq查询定义为索引。Raven会在后台执行这个查询,查询的结果会立即作为一个视图供你使用。我们认为Raven适合以下几种情况:
- 与网络相关的数据,比如用户会话、购物车等 - Raven的文档式存储意味着你可以在一次远程调用中获取和存储处理请求所需的所有数据。
- 动态实体,比如用户可自定义的实体、具有大量可选字段的实体等 - Raven的无模式特性意味着你不需要与关系模型斗争来实现它。
- 持久化视图模型 - 你可以将视图模型以最终形式存储在Raven中,而不是在每次请求时从头开始重建。这样可以减少计算量,减少远程调用次数,并提高整体性能。
- 大数据集 - Raven的底层存储机制已知可以扩展到超过1TB(在单台机器上),而且数据库的非关系特性使得在多台机器之间分片变得简单,这也是Raven可以原生支持的功能。
5
在这个演示中,有一些关于使用Mongodb的很棒的观点,大家可以通过这个链接来查看。