バックアップ・リカバリは、OceanBaseデータの高い信頼性を支えるコアコンポーネントであり、純粋なSQLコマンドだけで完全なバックアップおよびリカバリ機能を利用できます。OceanBaseデータベースにおいて、データの高信頼性メカニズムとしては、マルチレプリカによる災害復旧レプリケーション、ごみ箱、物理スタンバイデータベース、バックアップ・リカバリなどが主にあります。バックアップ・リカバリは、ユーザーデータを保護する最後の手段です。
一般的なデータ異常の問題は以下のとおりです:
シングルマシンの問題:一般的なのは、ディスクエラー、ディスク損傷、マシンダウンなどのシナリオです。これらのシナリオは通常、マルチレプリカの災害復旧レプリケーション機能によって正常に復旧できます。
マルチマシンの問題:一般的なのは、スイッチの損傷、データセンターの停電などのシナリオです。
少数派レプリカの問題:OceanBaseデータベースのマルチレプリカメカニズムは、少数派レプリカが欠落しても正常に動作を保証し、障害が発生したノードが正常に戻った際には自動的にデータを補完します。
多数派レプリカの問題:このようなシナリオでは、マルチレプリカメカニズムは自動的にデータを復元できません。一般的に、コールドスタンバイの復元時間はホットスタンバイのスタンバイデータベースからの復元よりも長くかかります。スタンバイデータベースがデプロイされている場合は、サービス復旧の緊急措置としてスタンバイデータベースへのプライマリ切り替えを優先的に推奨します。スタンバイデータベースがデプロイされていない場合は、バックアップ・リカバリを使用してデータを復元することを推奨します。
人為的な操作:一般的なのは、テーブルの削除、データベースの削除、行の削除、誤ったプログラムロジックによるダーティデータの生成などの操作です。
一般的な誤ったテーブルやデータベースの削除操作については、ごみ箱機能を使用してデータを復元することを推奨します。
行レベルの誤操作や、より複雑なプログラムロジックエラーによる大規模なデータ汚染については、バックアップ・リカバリ機能を使用してデータを復元することを推奨します。
OceanBaseデータベースのバックアップは、バックアップの形式によって、主にデータバックアップとログバックアップの2種類に分けられます。データバックアップとは、ストレージ層のベースラインデータとダンプデータ、すなわちバックアップ時点のMajor SSTable + Minor SSTableを指します。ログバックアップとは、トランザクション層で生成されるClogを指し、これにはSSTable以降に変更されたデータが含まれます。
現在、テナントレベルでのバックアップとリカバリをサポートしています。
この章では、主に以下の内容について説明します:
バックアップファイルのディレクトリ構造
バックアップアーキテクチャ
リカバリプロセス