【ぶつりばっくあっぷ】

物理バックアップ とは?

💡 データファイルをまるごとコピー!速さが命の本格バックアップ
📌 このページのポイント
物理バックアップとポイントインタイムリカバリ ベースバックアップ データファイル 月曜 AM3:00 WAL(トランザクションログ) PITR: ベース + WALを適用 復元先 木曜 15:03 の状態に復元! 主なツール pg_basebackup xtrabackup RDS スナップショット
物理バックアップとPITRのイメージ
ひよこ ひよこ

物理バックアップって、論理バックアップより速いんだよね?

ペンギン先生 ペンギン先生

そう!ファイルをまるごとコピーするだけだから、データ量に関わらず高速なんだよ。100GBのデータベースでも、論理バックアップが数時間かかるところ、物理バックアップなら数十分で済むことがあるんだ

ひよこ ひよこ

じゃあ全部物理バックアップでいいんじゃないかな?

ペンギン先生 ペンギン先生

制約もあるんだよ。物理バックアップは同じDBMSの互換バージョンでしか復元できないし、特定のテーブルだけ復元するのが難しいんだ。だから論理バックアップと併用するのがベストプラクティスだね

ひよこ ひよこ

具体的にはどうやって取るの?

ペンギン先生 ペンギン先生

PostgreSQLならpg_basebackup、MySQLならxtrabackup(Percona製)やMySQL Enterprise Backupが使われるよ。AWSではRDSの自動スナップショットも物理バックアップの一種だね

ひよこ ひよこ
ペンギン先生 ペンギン先生

物理バックアップWAL(トランザクションログ)を組み合わせて、「昨日の15時3分の状態に戻す」みたいに任意の時点に復元する技術だよ。PITRと略されることが多いんだ

ひよこ ひよこ

バックアップ中もデータベースは使えるの?

ペンギン先生 ペンギン先生

最近のツールはホットバックアップに対応していて、稼働中でもバックアップが取れるよ。PostgreSQLのpg_basebackupもMySQLのxtrabackupも、サービスを止めずにバックアップできるんだ。本番環境ではこれが必須の条件だね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「物理バックアップ」って出てきたら「データファイルをまるごとコピーする高速バックアップ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Physical Backup」 = 物理バックアップ
💬 physical(物理的な)ファイルをそのままコピーするから物理バックアップと呼ぶんだよ
← 用語集にもどる