CAP 定理与 BASE (NoSQL)
嗨,我正在尝试为我关于 NoSQL 的工作写一篇小论文,并将 CAP 定理描述为,如果不是全部,那么大多数 NoSQL 数据库都遵循。后来我读了一篇关于 NoSQL 和 RDBMS 之间区别的论文,其中指出 NoSQL 数据库使用 ACID 对应的 BASE。
我知道 BASE、ACID 和 CAP 的属性,但我很难弄清楚 CAP 定理和 BASE 之间的关系。据我了解,CAP 定理导致 BASE 首字母缩略词,但这是正确的结论吗?或者是两种不同的方法来“构建”一个共享一些相似属性的数据库?
在这篇博文 (http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/) 中,作者写道:
与挑剔的 ACID 世界相比,在容错 BASE 世界中开发软件更加困难,但 Brewer 的 CAP 定理表明,如果你想扩大规模,你别无选择。但是,正如 Brewer 在本演示文稿中指出的那样,ACID 和 BASE 之间存在连续性。您可以根据您的优先级来决定您希望距离连续体的一端或另一端有多近。
作者在另一篇文章中写道:
首先,许多 NOSQL 数据库都放宽了对一致性的要求,以实现更好的可用性和分区。这导致系统被称为 BASE(基本可用、软状态、最终一致)。这些没有经典意义上的事务,并在数据模型上引入了约束,以实现更好的分区方案(如 Dynamo 系统等)。本介绍中提供了对 CAP、ACID 和 BASE 的更全面讨论。
这清楚地表明 CAP导致BASE。
我希望有人可以向我澄清这一点并消除我的困惑..
谢谢
- Mestika
JNK*_*JNK 16
CAP 基本上是一个连续体,BASE 和 ACID 沿着该连续体位于相反的两端。
CAP是一致性、可用性和分区容错性。基本上你可以选择其中的 2 个,但你不能做所有的 3 个。
ACID专注于一致性和可用性。
BASE专注于分区容错性和可用性,而将一致性抛在脑后。
归档时间: |
|
查看次数: |
15354 次 |
最近记录: |