有NoSQL ACID(分布式)数据库 https://stackoverflow.com/questions/2608103/is-there-any-nosql-that-is-acid-compliant,尽管有 CAP 定理。这怎么可能? CAP 定理和(可能/不可能)ACID 之间有什么关系?
Is 不可能的对于分布式计算机系统来说,要同时提供一致性,
可用性和分区容错性。
CAP定理实际上有点误导。事实上,你可以有一个CA设计是无意义的,因为当分区发生时,你必然会遇到关于一致性(例如数据同步问题)或可用性(延迟)的问题。这就是为什么有一个更准确的定理指出:
期间分割在分布式系统中,您必须选择一致性 and 可用性.
但实际操作起来却没那么简单。您应该注意,一致性和可用性之间的选择不是二元的。你甚至可以两者兼得。例如,对于 ACID,您可以使用 NoSQL 进行原子且持久的事务,但为了获得更好的可用性而放弃一定程度的隔离性和一致性。然后,可用性可以被视为延迟,因为您的响应时间将取决于几个因素(最近的服务器是否可用?)。
所以,回答你的问题,这通常是营销废话。你需要真正触及表面,看看解决方案到底带来了什么和失去了什么。
如果你想要更深入的解释,你可以看看here http://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed, here http://blogs.the451group.com/information_management/2011/12/14/newsql-cap-theorem-and-latency-tolerance/ or here http://www.bailis.org/blog/when-is-acid-acid-rarely/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)