假设我将一条记录写入 cassandra 集群,并立即读取它。 cassandra如何保证我读到的是我刚刚写的最新结果?

assume I write a record into cassandra cluster, and read it immediatelly. How can cassandra guarantee what I read is the latest result I just wrote?

假设我将一条记录写入 cassandra 集群,并立即读取它。可能是write的过程还没有finished.Howcassandra能保证我读到的是我刚写的最新结果吗?

Cassandra 具有可调的一致性。由您决定需要多少一致性 - 始终取决于可用性成本。

如果您的写入根本没有得到确认,您根本没有任何保证,但您可能取回数据。

您可以使用 ConsistencyLevel.ALL 强制 Cassandra 强制持有该分区键的所有节点确认您的写入 强制所有节点在读取时发送数据。这会很慢,您最好使用 RDBMS。

一个好的中间方法是ConsistencyLevel.QUROUM。

https://docs.datastax.com/en/cassandra/3.0/cassandra/dml/dmlConfigConsistency.html