web-dev-qa-db-ja.com

CQL3で個々のCQLクエリの整合性レベルを設定するにはどうすればよいですか?

CQの以前のベータリリース Lでは、個々のCQL操作の読み取り/書き込みの一貫性を設定するために使用できるコマンドがありました。それはこのように見えました:

SELECT * FROM users WHERE state='TX' USING CONSISTENCY QUORUM;

私はCQL3を定期的に使用しており、他のアプリケーションよりも高い整合性レベルで読み取りを実行できる必要があるユースケースがあります。

CQL3リファレンス を調べましたが、cqlshを使用していない限り、クエリごとに一貫性の設定を変更できるCQL構文についての言及は見つかりませんでした(アプリケーションには役立ちません)開発。)

CQL3を使用してリクエストごとに一貫性を調整するにはどうすればよいですか?

13
Aaronontheweb

アーロン、整合性レベルをプロトコルレベルで設定する必要はありません-ここで説明する理由により https://issues.Apache.org/jira/browse/CASSANDRA-4734

8
Roman Tumaykin

まず、コマンドを実行して整合性を設定します。

CONSISTENCY QUORUM;

次にクエリを実行します。

SELECT * FROM users WHERE state='TX'

いつでも一貫性をチェックできます:

 CONSISTENCY;
21
Chandan

クエリのデフォルトの整合性レベルは「ONE」です。ただし、クエリごとに以下のように整合性レベルを設定できます。 Setting Consistency Level

レプリケーション係数に基づいて、パーティション(ノードリスト)の場所は次のように見つかります。

nodetool getendpoints Keyspace-name table-name partition-key value

$ nodetool getendpoints stresstest status bill
10.134.38.15
10.134.38.24
10.134.38.26
4
Arun