問題タブ [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.
cassandra - Cassandra TimeWindowCompactionStrategy の構成方法
1 ~ 7 日後の時系列データTTLs
(ユースケースによって異なります)。データは不変で、タイムスタンプ順 ( cluster by timestamp
) - データは「書き込み時」にタイムスタンプが付けられます (したがって、新しいデータのタイムスタンプは常にプログレッシブである必要があります)。
パーティションのサイズは 10,000 個のアイテムを超えてはなりません - 通常はそれよりもはるかに小さくなります (10MB
完全な 10,000 個のアイテムの場合は最大で ~)。
圧縮戦略の構成方法 (考慮すべきパラメーター) に関する適切なドキュメントが見つからなかったので、次のようにすることにしました。
これが正しいかどうかは確かにわかりません
KPI
考慮すべきことは何ですか?
cassandra - YCSB でベンチマークしたときのスループットとレイテンシの相関関係
YCSB を使用して、さまざまな NoSQL データベースのベンチマークを行っています。ただし、クライアント スレッドの数をいじってみると、スループットとレイテンシの結果を解釈するのに苦労します。
たとえば、16 個のクライアント スレッドでワークロード a (50/50 の読み取りと更新) を実行している cassandra をベンチマークする場合、次のコマンドが実行されます。
次の出力が得られます。
32 個のスレッドで同じ操作を実行すると、次のようになります。
全体的な実行時間は短くなるため、スループットは高くなりますが、レイテンシも高くなります。
これらの結果をどのように解釈すればよいかよくわかりません。また、実行する「適切な」数のクライアント スレッドをどのように見つけますか?
cassandra - Cassandra (または Scylla) はクラスタリング列をどのようにソートしますか?
Cassandra (または Scylla) の利点の 1 つは、次のとおりです。
テーブルに複数のクラスタリング列がある場合、データはネストされた並べ替え順序で格納されます。 https://docs.datastax.com/en/dse/6.0/cql/cql/cql_using/whereClustering.html
このため、同じソート順でデータを読み戻すのは非常に高速であると思います。
クラスタリング列が指定する順序とは異なる順序でデータが書き込まれた場合、Cassandra (または Scylla) が実際にデータを並べ替えるのはいつですか?
memtables が SSTables にフラッシュされるのはいつですか?
memtable が既にフラッシュされており、既存の SSTable のレコードの前にあるはずの新しいレコードを追加した場合はどうなりますか?
しばらくの間、ディスク上のデータを順不同に保ち、圧縮中に再順序付けしますか?
もしそうなら、読み取りが正しい順序であることを確認するためにどのような手順が必要ですか?