この記事では、データメジャーコンパクションの操作手順について説明します。
背景情報
OceanBase データベースのストレージエンジンは LSM-Tree アーキテクチャに基づいており、データを静的ベースラインデータ(SSTable に格納)と動的増分データ(MemTable に格納)の2つの部分に分けます。SSTable は読み取り専用で、一度生成されると変更されず、ディスクに保存されます。MemTable は読み書きをサポートし、メモリに保存されます。データベースのDML操作(挿入、更新、削除など)はまずMemTableに書き込まれ、MemTableが一定のサイズに達するとディスクにマイナーコンパクションされ、SSTableになります。詳細については、ストレージアーキテクチャの概要をご参照ください。
MemTable のサイズが一定の閾値を超えると、メモリを解放するためにMemTable内のデータをSSTableにマイナーコンパクションする必要があります。このプロセスをマイナーコンパクションと呼びます。マイナーコンパクションの詳細については、ダンプをご参照ください。
マイナーコンパクションによって新しいSSTableが生成されます。マイナーコンパクションの回数が一定の閾値を超えた場合、または毎日の業務のオフピーク時に、システムはベースラインSSTableとその後マイナーコンパクションされた増分SSTableを1つのSSTableにメジャーコンパクションします。このプロセスをメジャーコンパクションと呼びます。メジャーコンパクションの詳細については、メジャーコンパクションをご参照ください。
使用シナリオ
定期メジャーコンパクション:ユーザーによる手動でのスケジュールは不要で、実際の業務ピーク状況に応じて、業務のオフピーク時にシステムが自動的にメジャーコンパクション操作を実行するように選択できます。
手動メジャーコンパクション:実際の業務状況に応じて、いつでもデータメジャーコンパクションを開始できます。
説明
データメジャーコンパクション操作は業務パフォーマンスの低下を引き起こす可能性があります。業務の安定稼働を確保するため、業務のオフピーク時にこの操作を実行することをお勧めします。
使用上の注意
4.x バージョンのクラスタインスタンスの場合、OceanBase Cloud クラウドデータベースはクラスタレベルのデータメジャーコンパクションとテナントレベルのデータメジャーコンパクションの開始をサポートしています。クラスタワークベンチで、そのクラスタ下のすべてのターゲットテナントに対してデータメジャーコンパクションを開始できます。または、テナントワークベンチで、現在のテナントに対してデータメジャーコンパクションを開始できます。
前提条件
データメジャーコンパクションを開始する前に、クラスタ下のすべてのテナントの状態が「実行中」であることを確認してください。テナントの状態が「実行中」である場合にのみ、データメジャーコンパクション操作を開始できます。
クラスタデータメジャーコンパクションの開始
OB Cloudコンソールにログインします。
左側のナビゲーションペインで、インスタンス をクリックします。
インスタンスリストからターゲットクラスタインスタンスを見つけ、インスタンス名をクリックしてクラスタインスタンスワークベンチに入ります。
クラスタインスタンスワークベンチページで、アクション をクリックし、メジャーコンパクションの開始 を選択します。
説明
- 4.x バージョンのクラスタインスタンスの場合、OceanBase Cloud クラウドデータベースはクラスタレベルのデータメジャーコンパクションとテナントレベルのデータメジャーコンパクションの開始をサポートしています。
- クラスタワークベンチで、そのクラスタ下のすべてのターゲットテナントに対してデータメジャーコンパクションを開始できます。または、テナントワークベンチで、現在のテナントに対してデータメジャーコンパクションを開始できます。
ポップアップウィンドウで再度 データをコンパクション をクリックすると、ターゲットインスタンスに対してメジャーコンパクションを開始できます。
説明
- 進行中のバックアップタスクがある場合、データメジャーコンパクションにより遅延が発生します。
- データメジャーコンパクションはデータベースのパフォーマンスに一定の影響を与える可能性があるため、トラフィックのピーク時を避けて操作することをお勧めします。
- この操作により、このクラスタインスタンス下のすべてのテナントに対して同時にデータメジャーコンパクションが実行されます。
メジャーコンパクション開始後、業務に一時的な要件がある場合は、テナントワークベンチでメジャーコンパクションタスクを一時停止/再開できます。
テナントデータメジャーコンパクションの開始
OceanBase Cloudコンソールにログインします。
左側のナビゲーションペインで、インスタンス をクリックします。
インスタンスリストからターゲットクラスタインスタンスを見つけ、インスタンス名をクリックしてクラスタインスタンスワークベンチに入ります。
左側のナビゲーションペインで、テナント をクリックします。
テナントリストからターゲットテナントを見つけ、テナント名をクリックしてテナントワークベンチに入ります。
テナントワークベンチページで、操作 をクリックし、メジャーコンパクションの開始 を選択します。
ポップアップウィンドウで再度 データをコンパクション をクリックすると、ターゲットテナントに対してメジャーコンパクションを開始できます。
メジャーコンパクション開始後、業務に一時的な要件がある場合は、メジャーコンパクションタスクを一時停止/再開できます。
メジャーコンパクションの一時停止:メジャーコンパクション開始後、メジャーコンパクションの一時停止 をクリックし、ポップアップウィンドウで一時停止を確認すると、メジャーコンパクションタスクを一時停止できます。
メジャーコンパクションの再開:メジャーコンパクション一時停止後、メジャーコンパクションの再開 をクリックし、ポップアップウィンドウで再開を確認すると、メジャーコンパクションタスクを再開できます。