問題タブ [scylla]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - パーティション キーごとの Cassandra のサイズ制限
カサンドラにこのテーブルがあります:
私が理解できるように、cassandraは(adress_id、adress_name)であるパーティションキーに基づいてテーブルアドレスのデータを分散します。
同じ (adress_id、adress_name) を共有するデータを挿入しようとすると、リスクがあります。
データを挿入する前にチェックしたいのですが、チェックは次のように行われます。
- カップル (adress_id、adress_name) を使用して cassandra に既にいくつのデータがあるか、5MO と仮定しましょう。
- 挿入しようとしているデータのサイズが、パーティション キーごとの Cassandra の制限から Cassandra 内の既存のデータを引いた値を超えていないことを確認する必要があります。
私の質問は、cassandra にクエリを実行して、カップル (adress_id、adress_name)でデータのサイズを取得する方法です。その後、Cassandraのパーティション キーのサイズ制限はいくらですか。
scylla - キー プレフィックスの最適化がクラスタリング列のセカンダリ インデックスで機能しないのはなぜですか?
Scylla DB は、いわゆる「キー プレフィックスの最適化」をセカンダリ インデックスに実装します。これにより、プライマリ キーの一部が指定されている場合にフィルタリングが不要になります。SELECT * FROM A WHERE a = 'a' AND b = 'a' AND d = 'a';
たとえば、 tableで実行できますA
。
A.d
ただし、クラスタリング列の場合は機能しません。たとえば、B
下の表のように。
上記の SELECT クエリは次のエラーで失敗します。
InvalidRequest: サーバーからのエラー: code=2200 [無効なクエリ] message="このクエリを実行できません。データ フィルタリングが必要なため、パフォーマンスが予測できない可能性があります。パフォーマンスが予測できないにもかかわらずこのクエリを実行する場合は、ALLOW FILTERING を使用してください"
スキュラDB 3.0.1。