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