Cassandraでマイナー圧縮を強制する方法はありますか?
保留中のタスクがあるノードで nodetool を使用して圧縮しきい値を 4 4 に設定しようとしましたが、何も起こりません。
大規模な圧縮ではなく、小規模な圧縮が必要なのはなぜですか?
コンパクションのしきい値を 4 4 に設定したとき、SSTable はいくつありましたか? 4 つ未満の場合、圧縮のしきい値を満たしていないため、マイナー圧縮はトリガーされません。
いずれかのキースペース内のファイルを調べることで、SSTable とそのサイズを確認できます。次のようになります。
andrew@spite:/var/lib/cassandra/data/test_ks $ du -ch *
4.0K Users-hc-1-Data.db
4.0K Users-hc-1-Digest.sha1
4.0K Users-hc-1-Filter.db
4.0K Users-hc-1-Index.db
8.0K Users-hc-1-Statistics.db
4.0K Users.Users_name_idx-hc-1-Data.db
4.0K Users.Users_name_idx-hc-1-Digest.sha1
4.0K Users.Users_name_idx-hc-1-Filter.db
4.0K Users.Users_name_idx-hc-1-Index.db
8.0K Users.Users_name_idx-hc-1-Statistics.db
48K total
andrew@spite:/var/lib/cassandra/data/test_ks $
バージョン 0.7のDatastax ドキュメントには、マイナー コンパクションは「定期的かつ自動的に実行される」と記載されており、マイナー コンパクションを強制することはできず、代わりにコンパクションが発生するまで待機する必要があることが示唆されています。おそらく、必要な場合は、十分に待つだけで済みます。
いいえ、手動でトリガーできるのは主要な圧縮のみです。