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