私の会社では、debian サーバーで実行されている Cassandra (2.1.8) を使用しています。
クエリ/準備済みステートメントに一貫性を設定しないと、"SELECT * FROM table_name WHERE key = ?"
. 追加後:
statementGet.setConsistencyLevel(ConsistencyLevel.ONE);
毎回返事が来ます。ただし、以下の記事から: 一貫性レベルの読み取り/書き込み戦略
一貫性を気にしないのであれば、この議論は意味がありません。一貫性レベルに関係なく読み取り/書き込みが可能で、Cassandra の非同期レプリケーションと反エントロピー機能が機能します。とはいえ、目標はネットワーク トラフィック/コストを最小限に抑えることですが、ワークロードのほとんどが読み取りである場合、CL QUORUM または ALL で書き込みを行う追加コストは、実際にはそれほど大きくない可能性があります。
一貫性を気にしなければ、私の一貫性レベルは問題にならないと言われています。そして、私はしません。データが何時間も何日も前のものであるかどうかは、私にはあまり問題ではありません。しかし、私は毎回データを取得することに気を配っています。
私が知る必要があるのは、書き込みにも一貫性レベルを設定して、それらが実際に書き込まれることを確認し、以前に何かを書いた場合、読み取りが常に値を取得する必要があるかどうかです。
そして、上記の基準を考えると、その一貫性レベルはどのくらいになるでしょうか?