Gre*_*mas 9 nosql rdbms distributed-databases
水平扩展/分布 RDBMS 困难的主要原因是因为遵守 ACID 事务吗?是多个表如此相互关联的事实,还是其他原因?
\n我的印象是,它\xe2\x80\x99主要是ACID要求,因为集群中的不同节点在任何给定时间可能有不同的值。但哎呀,我\xe2\x80\x99m 模糊了 ACID 的工作原理。
\n相反,为什么某些 NoSQL 数据库更容易分发?我对分布式数据库了解不够,无法理解为什么一个数据库可以轻松分布式,而另一个数据库则不能。
\n任何人都可以透露一些信息吗?
\nmus*_*cio 16
为什么关系型数据库比NoSQL数据库更难横向扩展
恐怕你的假设有点错误。
水平(或沿任何其他轴)缩放关系(或任何其他)DBMS 并不困难。困难的是在这样做的同时维持 DBMS 提供的所有承诺。
关系型 DBMS 主要保证一致性,当它分布在多个实例中时,它会让您等待,直到所有(或至少大多数)实例就事务的最终状态达成一致。因此,您可以在所有实例就事务状态达成一致所需的时间内购买数据库的一致状态。
所谓的1 “NoSQL”DBMS 通常承诺非常短的本地响应时间,但代价是不能保证在任何时间点(在某些情况下包括从不)在其他实例中具有相同的事务状态。
一些应用程序(例如航空公司的座位预订)更看重一致性,而其他应用程序可能更喜欢更快的响应时间,即使结果不一定是真实的(就像某些社交网络那样)。
从根本上讲,您的问题可以简化为“为什么扩展数据库[...]很困难”,答案是“因为”。在不牺牲其原始品质的情况下,很难扩展任何东西,无论是抚养孩子、送披萨、将人类送入太空、在后院养鸡......
1 - 无论如何,没有什么可以阻止它使用 SQL 语法。