【ろんりばっくあっぷ】

論理バックアップ とは?

最終更新:
💡 DBの構造とデータを書き出し、復元に備える

論理バックアップは、テーブルの定義やデータなどを、DBの内部ファイルとは別の論理的な形で書き出す方法。SQLのテキストや専用アーカイブなどがあり、復元する範囲や互換性は道具と形式で異なる。

📌 このページのポイント
DBを残す:何を書き出す?論理バックアップ物理バックアップ構造とデータSQL・専用形式などDBの内部ファイルなどを保存復元できる範囲と手順を確かめる
形式や対応範囲はDB製品と方法によって異なります。別製品へそのまま移せるとは限りません。
ひよこ ひよこ
何が「論理」なの?
ペンギン先生 ペンギン先生
テーブルの定義やデータを、DBの内部ファイルとは別の形にして書き出すことだよ。PostgreSQLではpg_dumpという道具がある。SQLの命令として出す方法も、専用のアーカイブ形式にする方法もあるんだ。
ひよこ ひよこ
必ず中身を読めるファイルになる?
ペンギン先生 ペンギン先生
SQLのテキストなら読めるけれど、圧縮された専用形式などは、そのまま文章として読めるとは限らないよ。CSVでデータだけを保存しても、テーブルの定義や権限などが全部そろうわけではない点にも注意しよう。
ひよこ ひよこ
物理バックアップとはどう違うの?
ペンギン先生 ペンギン先生
物理バックアップは、DBが管理する内部ファイルなどを扱うよ。論理バックアップは、定義やデータを取り出して再構成する考え方だね。速度や復元の方法、対象の範囲はDB製品や設定で違うので、どちらが常に速い・最適とは決められないんだ。
ひよこ ひよこ
別のDBへ移すときにも使える?
ペンギン先生 ペンギン先生
データを取り出す手段になるけれど、別のDB製品へそのまま読み込めるとは限らないよ。SQLの方言やデータ型、機能が違うから変換や検証が必要。同じ製品のバージョン変更でも、対応する組み合わせを確認するんだ。
ひよこ ひよこ
取れたファイルがあれば安心?
ペンギン先生 ペンギン先生
実際に必要な範囲を復元できるか確認しよう。pg_dumpは一つのDBについて整合した書き出しを行うけれど、ロールなどDBをまたぐ情報は別の対象だよ。必要に応じてpg_dumpallなども検討し、復元先やデータ量を含めて手順を試すことが大切なんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「論理バックアップ」って出てきたら「DBの構造やデータを書き出して復元に備える方法」と思えばだいたいOK!
📖 おまけ:英語の意味
「Logical Backup」 = 論理的な形式で取るバックアップ
💬 DBが内部で管理するファイルをそのまま取るのではなく、定義やデータという形で取り出す考え方だよ。出力が必ず人の読めるテキストとは限らないんだ。

参考資料

← 用語集にもどる