CAP定理的哪一部分是Cassandra牺牲的,为什么?

haw*_*eye 16 partitioning high-availability consistency cassandra cap-theorem

这里有一个很好的讨论,关于使用Kingsby的Jesper库模拟Cassandra中的分区问题.

我的问题是 - 在Cassandra你主要关注CAP定理的分区部分,还是一致性是你需要管理的一个因素?

rs_*_*atl 20

Cassandra通常被归类为AP系统,这意味着可用性和分区容差通常被认为比一致性更重要.然而,现实世界的系统很少整齐地落入这些类别,因此将CAP视为一个连续体更有帮助.大多数系统都会努力保持一致性,可用性和分区容忍度,并且许多(包括Cassandra)可以根据最重要的因素进行调整.像复制因子和一致性水平这样的旋钮会对C,A和P产生巨大影响.

即使定义术语的含义也很具挑战性,因为各种用例对每个用例都有不同的要求.因此,不是将系统分类为CP,AP或其他任何东西,而是根据它为适用于用例调整这些属性所提供的选项进行思考更有帮助.

这是一个有趣的讨论,讨论自CAP定理首次引入以来多年来的变化.

  • 我知道古老的问题,但无论如何:现在 Cassandra 也可以 [调整](http://docs.datastax.com/en/archived/cassandra/2.0/cassandra/dml/dmlAboutDataConsistency.html) 成为 CP。 (2认同)

Put*_*tti 5

CAP代表一致性可用性分区容错性。一般来说,分布式系统不可能在给定的点上保证三个以上。

Apache Cassandra 属于 AP 系统,这意味着 Cassandra 适用于可用性分区容限,但不适用于一致性,但这可以通过复制因子(数据的多少副本)和一致性级别(读取和写入)进一步调整。

更多信息:https : //docs.datastax.com/en/cassandra/3.0/cassandra/dml/dmlConfigConsistency.html