在过去的几天里,我一直在阅读文档并观看特定于 Mongo DB 的截屏视频,我不知道像这样的解决方案何时会比典型的 pg 或 mysql 环境更好。
具体来说,我的问题是在什么情况下(有用例就很好)你会选择 nosql 路线?
Thanks!
许多不同的作家。特别是当写入器由于网络断开而被分段,并且稍后需要重新同步已写入分叉两侧的数据时。这破坏了 ACID,虽然您可以使用显式业务逻辑解决问题,但您现在处于 NoSQL 领域。这在军事情况下很常见,但是任何人人都是多产作家的系统都会在 ACID 系统上有一些写竞争锁。
流体模式。更改传统数据库中的模式是一项昂贵的操作,通常需要某种服务器停机或其他复杂的过程。对于大多数 NoSQL 系统来说,这都是微不足道的。因此,如果您需要合并来自许多不同来源的数据和/或您可能希望稍后开始跟踪新信息,那么 NoSQL 系统将更容易处理。我能想到的一个很好的例子是合并两个数据源,以便它们可以相互绘制图表。
低带宽复制。一旦破坏了 ACID,您就可以在网络图的叶节点上使用部分数据的读取器和写入器,而无需数据库的完整副本。我自己公司的产品,陆军未来指挥所就使用了这个。
数据互操作性。大多数 NoSQL 数据库允许您在不提前了解架构的情况下内省数据,从而使不同系统之间的连接更加容易。
大规模扩展。这是最常引起争议的问题,也是 NoSQL 支持者最常滥用的问题。如果这是您选择 NoSQL 的唯一原因,请先从 MySQL 开始,然后再进行扩展。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)