假设我将记录写入cassandra集群,并立即阅读。写作的过程可能还没有结束。卡桑德拉怎么能保证我读到的是我刚刚写的最新结果?
Cassandra具有可调整的一致性。您需要决定所需的一致性 - 始终考虑可用性成本。
如果你的写作完全没有得到承认,你根本就没有任何保证,但你可能会收回数据。
您可以使用ConsistencyLevel.ALL强制Cassandra强制持有该分区键的所有节点确认您的写入并强制所有节点在读取时发送数据。这将是缓慢的,您可能更好地使用RDBMS。
一个很好的中间方式是ConsistencyLevel.QUORUM。
https://docs.datastax.com/en/cassandra/3.0/cassandra/dml/dmlConfigConsistency.html