ログアーカイブのディレクトリ構造
ログアーカイブは、ユーザーが PIECE_SWITCH_INTERVAL パラメータで指定する時間間隔で分割されます。デフォルトでは1日ごとにディレクトリが分割されます。つまり、毎日のログデータディレクトリが1つの backup_piece に対応します。
NFS、OSS、Azure Blob などのバックアップ媒体におけるログアーカイブのディレクトリ構造は以下のとおりです:
log_archive_dest
├── check_file
│ └── 1002_connect_file_20230111T193049.obbak // 接続性チェックファイル
├── format.obbak // バックアップパスのフォーマット情報
├── rounds // Rounds プレースホルダーディレクトリ
│ └── round_d1002r1_start.obarc // Round 開始プレースホルダー
├── pieces // Piece プレースホルダーディレクトリ
│ ├── piece_d1002r1p1_start_20230111T193049.obarc // Piece 開始プレースホルダー、piece_destID_roundID_PIECEID_start_DATE
│ └── piece_d1002r1p1_end_20230111T193249.obarc // Piece 終了プレースホルダー、piece_destID_roundID_PIECEID_end_DATE
└── piece_d1002r1p1 // Piece ディレクトリ、ディレクトリ名の形式は piece_destID_roundID_PIECEID
├── file_list.0.obarc
├── piece_d1002r1p1_20230111T193049_20230111T193249.obarc // Piece の連続区間を記録
├── checkpoint
├── single_piece_info.obarc // その Piece のメタ情報を記録
├── tenant_archive_pieceInfos.obarc // その Piece より前のすべての frozen Piece のメタ情報を記録
├── file_info.obarc // すべてのログストリームファイルリスト
├── logstream_1 // 1号ログストリーム
└── logstream_1001 // 1001号ログストリーム
上記のディレクトリ構造において、最上位ディレクトリには以下の3種類のデータが含まれます:
format.obbak:アーカイブパスのメタ情報を記録するために使用されます。これには、パスを使用するテナントなどの情報が含まれます。check_file:ユーザーのログアーカイブディレクトリの接続性チェックに使用されます。rounds:ログアーカイブの Round の集計リストで、すべての Round のリストが記録されています。pieces:ログアーカイブの Piece の集計リストで、すべての Piece のリストが記録されています。piece_d1002r1p1:ログアーカイブの Piece ディレクトリで、ディレクトリ名の形式はpiece_destID_roundID_PIECEIDです。ここで、DESTIDはlog_archive_destに対応する id を指します。ROUNDIDはログアーカイブ Round の id で、単調増加する整数です。PIECEIDはログアーカイブ piece_id で、同様に単調増加する整数です。1つのログアーカイブの Piece ディレクトリには、さらに以下のデータが含まれます:
file_list.0.obarc:このファイルは、現在のディレクトリに含まれるファイルとディレクトリを記録します。piece_d1002r1p1_20230111T193049_20230111T193249.obarc:このファイルは、現在のPieceのID、開始時刻、終了時刻を表示するためのもので、情報表示のみを目的としています。checkpoint:このディレクトリは、ActiveなPieceのアーカイブポイントを記録するディレクトリであり、ObArchiveSchedulerモジュールが定期的にこのディレクトリのポイント情報を更新します。single_piece_info.obarc:このファイルは、現在のPieceのメタ情報を記録します。tenant_archive_pieceInfos.obarc:このファイルは、現在のテナント内のすべてのFrozen Piecesのメタ情報を記録します。file_info.obarc:このファイルは、Piece内のログストリームリストを記録します。logstream_1:このディレクトリは、1号ログストリームのログファイルを記録します。1号ログストリームはOceanBaseデータベーステナントのシステムログストリームです。logstream_1001:このディレクトリは、1001号ログストリームのログファイルを記録します。1000より大きいログストリーム番号はOceanBaseデータベーステナントのユーザーログストリームです。
データバックアップのディレクトリ構造
単一のデータバックアップは、1つのbackup_setに対応します。ユーザーがALTER SYSTEM BACKUP DATABASEを実行するたびに、新しいbackup_setのディレクトリが作成され、そのディレクトリにはそのバックアップのすべてのデータが含まれます。
データバックアップのディレクトリ構造は以下のとおりです:
data_backup_dest
├── format.obbak // バックアップパスのフォーマット情報
├── check_file
│ └── 1002_connect_file_20230111T193020.obbak // 接続性チェックファイル
├── backup_sets // データバックアップリストの集約ディレクトリで、すべてのデータバックアップセットリストを記録
│ ├── backup_set_1_full_end_success_20230111T193420.obbak // フルバックアップ終了のプレースホルダー
│ ├── backup_set_1_full_start.obbak // フルバックアップ開始のプレースホルダー
│ ├── backup_set_2_inc_start.obbak // 増分バックアップ開始のプレースホルダー
│ └── backup_set_2_inc_end_success_20230111T194420.obbak // 増分バックアップ終了のプレースホルダー
└── backup_set_1_full // フルバックアップセット。ファイル名の末尾がfullはフルバックアップ、incは増分バックアップを表す
├── file_list.0.obbak
├── backup_set_1_full_20230111T193330_20230111T193420.obbak //プレースホルダー。フルバックアップの開始時刻と終了時刻を表示するためのもの
├── single_backup_set_info.obbak // 現在のバックアップセットのメタ情報
├── tenant_backup_set_infos.obbak // 現在のテナントのフルバックアップセット情報
├── infos
├── logstream_1 // 1号ログストリーム
└── logstream_1001 // 1001号ログストリーム
データバックアップディレクトリでは、最上位ディレクトリには以下の3種類のデータが含まれます:
format.obbak:バックアップパスのメタ情報を記録するために使用されます。check_file:ユーザーデータバックアップディレクトリの接続性チェックに使用されます。backup_sets:データバックアップリストの集約ディレクトリで、すべてのデータバックアップセットリストを記録します。backup_set_1_full:このディレクトリはデータバックアップセットを表し、backup_set_1はそのバックアップセットのbackup_set_idが1であることを示します。ディレクトリ名の末尾がfullであればフルバックアップ、incであれば増分バックアップを意味します。データバックアップごとに対応するバックアップセットが生成され、データバックアップ終了後はそのバックアップセットは変更されません。一つのデータバックアップセットには、主に以下のデータが含まれます:
file_list.0.obbak:このファイルは、現在のディレクトリに含まれるファイルとディレクトリを記録します。backup_set_1_full_20230111T193330_20230111T193420.obbak:このファイルは、現在のバックアップセットのID、開始時刻、終了時刻を表示します。このファイルは情報表示用です。single_backup_set_info.obbak:このファイルは、現在のバックアップセットのメタ情報を記録します。バックアップのポイント、依存するログなどの情報が含まれます。tenant_backup_setInfos.obbak:このファイルは、現在のテナントが持つすべてのバックアップセットのメタ情報を記録します。infos:このディレクトリは、データバックアップセットのメタ情報を記録します。logstream_1:このディレクトリは、1号ログストリームのすべてのデータを記録します。1号ログストリームはOceanBaseデータベーステナントのシステムログストリームです。logstream_1001:このディレクトリは、1001号ログストリームのすべてのデータを記録します。1000より大きい番号のログストリームはOceanBaseデータベーステナントのユーザーログストリームです。
クラスタレベル構成パラメータのバックアップディレクトリ
クラスタレベル構成パラメータのバックアップが実行されるたびに、システムは指定されたディレクトリにクラスタレベル構成パラメータのバックアップファイルを生成します。具体的なディレクトリ構造は以下のとおりです。
cluster_parameters_backup_dest
├── cluster_parameter.20240710T103610.obbak # デフォルト設定以外のクラスタレベル構成パラメータ情報。ファイル名の形式:`cluster_parameter.[timestamp]`
└── cluster_parameter.20241018T140609.obbak