【でーたべーすばっくあっぷ】

データベースバックアップ とは?

💡 万が一に備えてデータベースの「コピーを取っておく」仕組み
📌 このページのポイント
バックアップ方式の比較 時間経過 → 月曜 火曜 水曜 フル 全データ 全データ 全データ 容量:大 差分 全データ 差分 累積差分 容量:中 増分 全データ 容量:小 フル: 復旧が簡単 差分: バランス型 増分: 高速・省容量 復旧速度と保存コストのトレードオフ
データベースバックアップのイメージ
ひよこ ひよこ

バックアップってどんな種類があるの?

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

大きく3種類。「フルバックアップ」は全データを丸ごと保存。「差分バックアップ」は最後のフルバックアップからの変更分を保存。「増分バックアップ」は前回のバックアップ(種類問わず)からの変更分を保存。フルが一番確実だけど時間と容量を食うから、「週1フル + 毎日増分」のような組み合わせが多いよ。

ひよこ ひよこ

mysqldumpとかpg_dumpって何?

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

論理バックアップのツール。データをCREATE TABLEやINSERT文の形でテキストファイルに出力する。人間が読めるし別のサーバーリストアしやすい。ただし大きなDBだとダンプリストアも時間がかかる。物理バックアップ(データファイルを直接コピー)のほうが速いけど、同じバージョン・同じ設定のDBにしかリストアできない制約がある。

ひよこ ひよこ

バックアップはどのくらいの頻度で取るべき?

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

「失っても許容できるデータ量」で決まる。例えば「最大1時間分のデータ損失まで許容できる」なら1時間ごと。「1件も失いたくない」なら継続的なWAL(ログ)のアーカイブポイントインタイムリカバリが必要になる。業務要件次第だね。

ひよこ ひよこ

バックアップを取っていれば安心?

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

取っているだけでは安心できない。本当に大事なのは「リストアテスト」。バックアップファイルが壊れていた、リストア手順が間違っていた、リストアに8時間かかって業務が止まった、なんて話は実際にある。定期的に別環境にリストアして「ちゃんと復元できるか」「どのくらい時間がかかるか」を確認するのが鉄則。あとバックアップの保存先も重要で、DBサーバーと同じディスクに置いていたらサーバーごと壊れたら意味がない。別リージョンのS3に保存するなど、障害の影響範囲の外に置くのが基本なんだけど、意外とここが甘いプロジェクトは多いんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
データベースバックアップって出てきたら「障害に備えてDBのコピーを保存し、必要なときに復元できるようにする仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Database Backup」 = データベースの予備コピー(Backup)
💬 Back up は「後ろ盾を用意する」。データの後ろ盾=予備コピーを取るイメージ
← 用語集にもどる