【ぶつりばっくあっぷ】

物理バックアップ とは?

最終更新:
💡 データファイルを基に、整合性を保って保存・復元する

データベースが保存に使うファイルやブロックを基に取得するバックアップ。SQL文などに変換する論理バックアップとは異なり、DBMSの保存形式を扱うため、整合性を保つ取得方法と復元先の互換性が重要になる。

📌 このページのポイント
物理バックアップとPITRの例ベースバックアップ保存ファイル連続したWAL123その後の更新ログファイルを戻し、ログを順に再生復元できる範囲の指定時点で止める単純コピーでは整合性が崩れる場合がある取得方式と復元先の互換性を確認
PostgreSQLの例。PITRにはベースバックアップと必要な連続ログが必要で、任意の過去へ無条件に戻れるわけではない。速度や必要容量は環境による。
ひよこ ひよこ
論理バックアップより、いつも速いの?
ペンギン先生 ペンギン先生
SQLや行のデータへ変換せず保存形式を扱うので、大きなDBで有利な場合があるよ。でも時間はデータ量、ディスクや通信、圧縮などで変わる。「100GBなら何分」「データ量に関係なく高速」とは言えない。必要な容量も含めて実際の環境で確認するんだ。
ひよこ ひよこ
ファイルを普通にコピーすればいい?
ペンギン先生 ペンギン先生
稼働中は更新が続くので、順にコピーするだけでは、ファイル同士の状態がそろわないことがあるよ。PostgreSQLなら停止して取得する方法、整合したスナップショット、専用のベースバックアップなどを使う。更新ログも含め、選んだ方式で必要なものをそろえることが大切なんだ。
ひよこ ひよこ
具体的なツールと、復元できる範囲は?
ペンギン先生 ペンギン先生
PostgreSQLのpg_basebackupは、稼働中のクラスタ全体のベースバックアップを取るツールだよ。特定のテーブルだけを選ぶ方法ではない。DBMSによってツールや単位、必要な処理は異なるので、論理バックアップとの使い分けも、復元したい範囲から考えよう。
ひよこ ひよこ
別のDBや、違うバージョンにも戻せる?
ペンギン先生 ペンギン先生
保存形式に依存するので、別のDBMSへそのまま移す方法ではないよ。PostgreSQLでは同じメジャーバージョンのマイナー版同士は保存形式が互換だけれど、メジャー版では変わり得る。別メジャー版への移行はpg_upgradeなど別の手順もあるので、バックアップの復元と区別して確認しよう。
ひよこ ひよこ
PITRなら好きな時刻へ戻せるの?
ペンギン先生 ペンギン先生
ベースバックアップを戻して、WALなどの更新ログを順に再生し、指定したところで止める方法だよ。必要なログが連続して保存されている範囲に限られ、バックアップだけで任意の過去へ戻れるわけではない。取得しただけで安心せず、復元手順と必要なファイルを確認することも大切なんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「物理バックアップ」って出てきたら「DBの保存ファイルやブロックを基に取るバックアップ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Physical Backup」 = 物理バックアップ
💬 physical(物理的な)ファイルをそのままコピーするから物理バックアップと呼ぶんだよ

参考資料

← 用語集にもどる