ダンプには、Mini CompactionとMinor Compactionの2つのプロセスが含まれます。
Mini Compaction
MemTableのサイズが一定のしきい値を超えると、メモリを解放するためにMemTable内のデータをMini SSTableに転送する必要があります。このプロセスをMini Compactionと呼びます。
Mini Compactionの主な目的は、メモリとデータログの解放です。メモリ上のFrozen MemTableはMini Compactionによってディスク上のMini SSTableに変換され、これがデータログのチェックポイントとなります。Mini Compactionが終了すると、対応するFrozen MemTableとLogは解放されます。
Minor Compaction
ユーザーデータの書き込みに伴い、Mini SSTableの数は徐々に増加し、クエリ時にアクセスするMini SSTableの数も増えていき、クエリ性能に影響を与えます。Minor Compactionとは、複数のMini SSTableを1つのSSTableに統合することで、SSTableの数を減らすことを主な目的としています。Mini SSTableの数がしきい値を超えると、バックグラウンドで自動的にMinor Compactionがトリガーされます。
SSTableの階層化戦略に基づき、Minor Compactionは以下の2種類に細分できます:
L0 -> L0
TieredタイプのCompactionでは、システムが複数のMini SSTableを1つのMini SSTableに統合し、L0層に配置します。

L0 -> L1
LeveldタイプのCompactionでは、システムが複数のMini SSTableとMinor SSTableを統合して新しいMinor SSTableを作成し、L1層に配置します。

ダンプのトリガー
ダンプには、自動トリガーと手動トリガーの2種類があります。
テナントのActive MemStoreメモリ使用量がfreeze_trigger_percentage * memstore_limit(ここで、memstore_limit = テナントメモリ × memstore_limit_percentage)に達すると、自動的にフリーズ(ダンプの前段階のアクション)がトリガーされ、その後システム内部でダンプがスケジュールされます。
また、以下の運用コマンドを使用して手動でダンプをトリガーすることもできます。
説明
memstore_limit_percentageは、テナントが使用するMemStoreのメモリが利用可能な総メモリに占める割合を設定します。この構成パラメータの詳細については、memstore_limit_percentageを参照してください。
例:
クラスタレベルのダンプ
sysテナントに対するダンプobclient> ALTER SYSTEM MINOR FREEZE TENANT = sys;すべてのユーザーテナントに対するダンプ
obclient> ALTER SYSTEM MINOR FREEZE TENANT = all_user;すべてのMETAテナントに対するダンプ
obclient> ALTER SYSTEM MINOR FREEZE TENANT = all_meta;
テナントレベルのダンプ
obclient> ALTER SYSTEM MINOR FREEZE TENANT= prod_tenant;
関連ドキュメント
その他のダンプ操作については、ダンプを参照してください。