問題タブ [tombstone]
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定数tombstone圧縮
トゥームストーンの圧縮が常に実行されているいくつかの Cassandra テーブルがあり、これが Cassandra プロセスによる高い CPU 使用率の背後にある理由だと思います。
私が持っている設定は次のとおりです。
テーブルの 1 つで、毎分データを書き込みます。TTL が設定されているため、一連の行全体も毎分期限切れになります。
tombstone_thresholdとtombstone_compaction_intervalが低いためにコンスタントにコンパクションが行われるのでしょうか?
誰かtombstone_thresholdとtombstone_compaction_intervalの詳細な説明を教えてください。Cassandra のドキュメントでは、あまり詳しく説明されていません。
cassandra - カサンドラのブロブ、墓石、およびスペースの再利用
削除後に Cassandra でスペースがどのくらいの速さで再利用されるかを理解しようとしています。範囲クエリを実行していて、Cassandra が多くの廃棄された行をスキャンして、はるかに希少なライブ行を見つける必要がある場合に、廃棄とこれが引き起こす可能性がある問題について説明している多くの記事を見つけました。また、gc_grace_seconds を低く設定しすぎると、ノードがオフラインになり、残りのマシンから墓石が消えた後に戻ってきた場合に、ゾンビ レコードがポップアップする可能性があることがわかります。それはすべて理にかなっています。
ただし、トゥームストーンがキーに配置されている場合は、残りの行データからのスペースを再利用できるはずです。
だから私の質問は、このテーブルについてです:
このテーブルに多数のレコードを挿入してから削除し、上記のトゥームストーン + 範囲の問題に遭遇しないように注意した場合、それらの BLOB のスペースはいつ回収されますか?
私の場合、ブロブは推奨サイズ (1 MB だと思います) よりも大きい場合がありますが、15 MB を超えてはいけません。これはまだ実行可能だと思います。ただし、これらのブロブのすべてが 10 日間 (デフォルトの gc_grace_seconds 値) 保持される場合と、キーのみが 10 日間保持される場合とでは、スペースに大きな違いが生じます。
私が見たとき、どこにも説明されているこの特定の側面を見つけることができませんでした.
cassandra - テーブルが削除された場合、ディスク上のSSTableが削除されることはありません
テーブルが削除されても、ディスク上のSSTableが削除されることはありません。
読み取りクエリが廃棄エラーをスローしていたため、廃棄カウントが 100000 を超えるテーブルがありました。その後、テーブルを削除しましたが、SSTable ファイルは削除されませんでした。テーブルを再作成し、選択クエリを実行すると、廃棄エラーが再び表示されました。古い墓石エラーが再び発生した理由がわかりません。また、SSTable がディスク上で削除されるのはいつですか?