ダンプには、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;
関連ドキュメント
その他のダンプ操作については、ダンプを参照してください。