database - Cassandra 中最终一致性的含义?

标签 database nosql cassandra eventual-consistency

当单个集群中的节点不包含相同数据的副本但数据分布在节点之间时,Cassandra 中的最终一致性意味着什么。现在,由于单个数据记录在一个地方(节点)。为什么 Cassandra 不从那个单一的记录位置返回最近的值?在这种情况下如何产生多个副本?

最佳答案

Cassandra 的一致性是可调的。可以调什么?
* 就读取数据达成一致所需的节点数..称之为 R * 就写入数据达成一致所需的节点数..称之为 W
在 3 个节点的情况下,如果我们选择 2R 和 2W .. 那么在读取期间,如果 2 个节点同意一个值,则该值为真值。第三个值可能相同也可能不同。
在write的情况下,如果选择2W,那么如果数据写入2个节点,就认为足够了。这个模型是一致的。
如果 R + w <= N 其中 N 是节点数,它将最终保持一致。
Cassandra 为每一列和列的每一字段维护一个时间戳,最终变得一致。后台有一种机制可以达到一致的状态。
但就像我说的,如果 R + W > N,那么它是一致的。这就是为什么一致性在 Cassandra 中被认为是可调的。

关于database - Cassandra 中最终一致性的含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4584353/

相关文章:

ios - ios应用程序在后台运行时如何打开sqlite数据库

nosql - 将关系数据库用于无模式数据-最佳实践

python - 无法使用 DataStax Python 驱动程序远程连接到 Cassandra

cassandra - Cassandra 是否是一个很好的候选数据库,因为它必须每秒支持超过 100 个读/写操作?

database - 从 URL 中删除结尾的斜杠总是安全的吗?

java - Android 中的 SQLite,如何迭代整个数据库列并将其值应用到回收器 View

database - 我可以在数据库中使用 Unix 时间作为复合主键吗?

nosql - Cassandra CLI 'org.apache.thrift.transport.TTransportException'

json - CosmosDB : Can a key be a duplicated? 键:值(documentDB/SqlAPi)

cassandra - 当复制因子 == 集群大小时,Cassandra 分区如何工作?