0

1.2.5 の Cassandra クラスターに書き込み負荷の高いワークフローがあります。ディスク容量が限られているため、古いデータを時々削除する必要があります。この削除は、ディスクの空き容量が特定のレベルまで低下したときに開始されます。トゥームストーンの役割を学びました。つまり、トゥームストーンは gc_grace タイムアウトが期限切れになり、マイナー圧縮が進行中のときに削除されます。そのため、「忍耐の遅延」を設定し、期限が切れると、ディスクの空き容量を再度確認できます。

しかし、「マイナーな圧縮がいつか実行されるかもしれない」ということに頼ることができないため、より予測可能な削除スキームが必要です。これはあまり具体的ではないように思われるため、いつディスクの空き容量を再度確認する必要があるかわかりません。たぶん、あなたはいくつかのアイデアを提供することができます。

4

1 に答える 1

0

これは、平準化された圧縮の適切な使用例です。挿入率が一定に保たれている場合、期限切れのトゥームストーンを削除するのにかかる時間はほぼ一定になります。

または、サイズ階層化圧縮 (デフォルト) を使用して、完全な圧縮を実行できますnodetool compact。これにより、gc_grace より古いすべてのトゥームストーンが削除されます。

ただし、これはすべてのデータを 1 つの大きな SSTable に書き換えるため、合計データ サイズに比例して時間がかかります。また、後続の圧縮を完了するために、半分以下のディスク容量を使用する必要があります。

于 2013-07-18T14:27:28.793 に答える