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