1

我的公司正在使用 Cassandra (2.1.8),在 debian 服务器上运行。

如果不对我的查询/preparedStatements 设置一致性,我有时会从"SELECT * FROM table_name WHERE key = ?". 添加后:

statementGet.setConsistencyLevel(ConsistencyLevel.ONE);

我每次都能得到答案。但是来自下面的文章: 一致性级别的读/写策略

如果你不关心一致性,那么这个讨论是没有意义的;以任何一致性级别读/写,并让 Cassandra 的异步复制和反熵功能完成它们的工作。也就是说,尽管您的目标是最小化网络流量/成本,但如果您的工作负载主要是读取,那么在 CL QUORUM 或 ALL 上进行写入的额外成本实际上可能不会那么多。

据说如果我不关心一致性,我的一致性水平并不重要。而我没有。如果数据是几小时或几天前的数据,对我来说并不重要。但我确实关心每次都获取数据。

我需要知道的是:我是否也需要在我的 Writes 上设置一个一致性级别,以确保它们实际被写入,并且如果我以前写过任何东西,我的 Read 将始终检索一个值。

考虑到上述标准,一致性水平可能是多少?

4

0 回答 0