このセクションでは、物理バックアップの方式とそのアーキテクチャについて説明します。
物理バックアップ
OceanBaseデータベースは、オンライン物理バックアップ機能を提供しており、この機能はログアーカイブとデータバックアップという2つのサブ機能で構成されています。ログバックアップはテナントが生成するログを継続的に維持し、データバックアップはスナップショットポイントのバックアップを維持します。これら2つを組み合わせることで、バックアップポイント以降の任意の時点への復元機能を提供します。
ログアーカイブ
OceanBaseデータベースは、テナントレベルのログアーカイブ機能を提供しています。
ログアーカイブの作業は、ログストリームのリーダーレプリカが担当します。ログストリームごとにログをバックアップすることは、ログエントリレベルでの物理バックアップです。
ログバックアップのサイクルはデフォルトで2分間隔であり、準リアルタイムのバックアップ機能を提供します。デフォルトでは24時間単位でディレクトリが分割される機能があり、ユーザーによるバックアップデータの管理を容易にします。
以前のバージョン(V2.2.xおよびV3.x)のOceanBaseデータベースと比較して、V4.0.0ではログアーカイブがパーティションレベルのログ管理に基づかなくなり、アーカイブ時に発生するI/O回数が大幅に削減され、バックアップメディアへの性能要件が効果的に低減されます。
データバックアップ
OceanBaseデータベースは、テナントレベルのデータバックアップ機能を提供しています。
データバックアップのプロセスはすべてRoot Serviceノードによってスケジュールされ、ログストリームごとにバックアップされます。バックアップデータには、パーティションのメタ情報とマクロブロックデータが含まれます。物理バックアップとはマクロブロックデータの物理バックアップを指し、メタ情報はメモリの直列化後の値です。
OceanBaseデータベースのベースラインマクロブロックには、グローバルに一意の論理識別子が付与されており、この論理識別子により増分バックアップでマクロブロックの再利用が可能になります。OceanBaseデータベースでは、1回の増分バックアップとは、フルメタ情報のバックアップ + 増分データマクロブロックのバックアップを指します。増分バックアップの復元とフルバックアップの復元はプロセスが基本的に同じで、性能上の差もありませんが、論理識別子に基づいて異なるbackup_set間でマクロブロックを読み取ります。
以前のバージョン(V2.2.xおよびV3.x)のOceanBaseデータベースと比較して、V4.xのデータバックアップでは、データスナップショットポイント保持への依存関係がなくなり、データバックアップ中にMajor Freezeを開始してもノード容量の膨張が発生しなくなりました。
V4.xバージョンでは、OceanBaseデータベースはバックアップサーバーを選択する際に、ログストリームのフォロワーノードを優先的に考慮します。これにより、ログストリームのリーダーノードの負荷が軽減され、バックアップ効率が向上します。具体的には、システムはまず条件を満たすすべてのフォロワーノードを選択してバックアップを行い、必要な場合にのみリーダーノードを選択します。この戦略により、バックアッププロセスがより効率的かつ安定していることが保証されます。
データクリーンアップ
OceanBaseデータベースは、現在の設定パス下での自動クリーンアップ機能を提供しており、この機能はRoot Serviceが定期的にユーザーが設定したバックアップクリーンアップポリシー(DELETE BACKUP POLICY)をチェックし、不要なデータバックアップを削除します。データバックアップを削除する際、システムは保持されているデータバックアップの中で最も古い再生ポイントに基づいて、不要なログバックアップも自動的に削除します。