行番号で選択クエリを実行できますか?
いいえ、ただし、パーティションキーのハッシュされたトークン値に基づいて範囲クエリを実行することは可能です。
6つのノードクラスタがあるとします。 Murmur3プライマリトークンは、6ノードのクラスタのための範囲を次のようになります。私はテーブルを持っている場合は
node start range end range
1) 9223372036854775808 to -9223372036854775808
2) -9223372036854775807 to -5534023222112865485
3) -5534023222112865484 to -1844674407370955162
4) -1844674407370955161 to 1844674407370955161
5) 1844674407370955162 to 5534023222112865484
6) 5534023222112865485 to 9223372036854775807
私のクエリ、pkey
のパーティション・キーとabc
と呼ばれ、ノード2にそのテーブルのすべての行を照会したかったです次のようになります。
SELECT * FROM abc
WHERE token(pkey) > 9223372036854775808
AND token(pkey) <= -5534023222112865485;
行全体の価値があまりにも多くある(と私はそれが可能になることを推測している)場合は、行数が管理可能になるまで、あなたのトークンの範囲を二分する上で動作することができます。 1000万行を選択することは、カッサンドラが特に優れているとは考えられていないことを覚えておいてください。
スレッド数については、試行錯誤が必要です。しかし、ノードごとに1つのスレッドは合理的な出発点のように聞こえる。