私が完全には理解していない Cassandra の重要な部分の 1 つは、範囲クエリです。Cassandra が分散環境を重視し、パフォーマンスに重点を置いていることは知っていますが、おそらくそのためか、現在、効率的に終了できる数種類の範囲クエリのみをサポートしています。私が知りたいのは、どの種類の範囲クエリがサポートされているかですカサンドラによる。
私の知る限り、Cassandra は次の範囲クエリをサポートしています。
1: 主キーのキーワードTOKEN
で範囲クエリを実行します。たとえば、次のようになります。
CREATE TABLE only_int (int_key int PRIMARY KEY);
...
select * from only_int where token(int_key) > 500;
2: 次のように、キーワードALLOW FILTERING
を使用したセカンダリ インデックスで 1 つの等値条件を使用する範囲クエリ。
CREATE TABLE example (
int_key int PRIMARY KEY,
int_non_key int,
str_2nd_idx ascii
);
CREATE INDEX so_example_str_2nd_idx ON example (str_2nd_idx);
...
select * from example where str_2nd_idx = 'hello' and int_non_key < 5 allow filtering;
しかし、何かを見逃していて、現在のCQLでサポートされているすべてのタイプの範囲クエリ(またはより多くのタイプの範囲クエリを許可するいくつかの回避策)をリストする標準的な回答を探しているのではないかと思っています.