1

私は Cassandra でいくつかの簡単な操作を行っています。単純にするために、単一のノードを使用しています。1 つの行があり、それに 10,000 列を追加します。次に、これらの 10,000 列を削除し、しばらくしてからさらに 10,000 列を追加し、しばらくしてから削除します...削除するとすべてが削除されますその1行の列。

これは私が理解していないことです。それらを削除しても、データベースのサイズが大きくなり、GCGracePeriodが 0 に設定され、Leveled Compaction Strategyを使用しています。

トゥームストーンを正しく理解している場合、最初の主要な圧縮後に削除する必要があります。nodetool compact コマンドを実行した後でも削除されていないようです。

いくつかのメーリング リストで、これらはローリング トゥームストーン (同じ行を頻繁に更新および削除する場合) であり、メジャー コンパクションでは処理されないことを読みました。だから私の質問は、それらがいつ削除されるのですか? そうしないと、データが大きくなるだけで、個人的には悪いと思います。さらに悪いことに、この特定の効果に関するドキュメントは見つかりませんでした。

4

1 に答える 1

3

まず、お気づきのように、これはあまり良い考えではありません。少なくとも、個々の列の削除ではなく、行レベルの削除を使用する必要があります。

第 2 に、LCS では大きな圧縮などはありません。nodetool compactノーオペレーションです。

最後に、Cassandra 1.2 では、多くのトゥームストーンを生成するワークロードの圧縮が大幅に改善されています: https://issues.apache.org/jira/browse/CASSANDRA-3442

于 2013-02-01T00:07:22.560 に答える