バックアップ・リカバリとは(全体像)
データベースは、障害(故障やトラブル)が起きても、データを守れるようにしておく必要がある。そのためのしくみが、バックアップとリカバリだ。
- バックアップ … 事前に、データの控え(コピー)をとっておくこと。フル・差分・増分などの方式がある。
- リカバリ(復旧) … 障害が起きた後に、データを元の正しい状態へ戻すこと。
保険でたとえると分かりやすい。バックアップは「保険に入っておく(事前)」、リカバリは「事故の後に修理する(事後)」イメージだ。
ここで一番のポイント。バックアップとリカバリは、別ものだ。バックアップは事前の備え、リカバリは事後の復旧。「バックアップとリカバリは同じこと」と思い込むと誤りになる。
詳しく:ロールフォワードとロールバック
ここが心臓部。ポイントを表で押さえよう。
バックアップ・リカバリのポイント
| 項目 | やさしい意味 |
|---|---|
| バックアップ | 事前にデータの控えをとる |
| リカバリ | 障害後に、元の正しい状態へ戻す |
| ロールフォワード | 完了した処理を進めて再現する(前へ) |
| ロールバック | 未完了の処理を取り消して戻す(後ろへ) |
復旧には、2つの方向がある。ロールフォワードは、記録(ジャーナル=ログ)をもとに、完了した処理を進めて再現する(前へ進める)。ロールバックは、未完了の処理を取り消して、元へ戻す(後ろへ戻す)。
ここで一番のポイント。ロールフォワードとロールバックは、方向が逆だ。「ロールフォワードとロールバックは同じ」と思い込むと誤りで、フォワード=進める、バック=戻すと、向きが反対だ。
わかりやすく言い換えると
身近なたとえで整理しよう。
バックアップは、「保険に入っておくこと(事前の備え)」。リカバリは、「事故の後に修理すること(事後の復旧)」こと。要するに、事前と事後で役割が違う。
ロールフォワードは、「完了した処理を、記録から進めて再現する(前へ)」こと。ロールバックは、「未完了の処理を取り消して戻す(後ろへ)」こと。つまり、向きが逆。
試験のツボ
🔴 一番出る:バックアップとリカバリの違い
①バックアップ=事前にデータの控えをとる
②リカバリ=障害後に、元の正しい状態へ戻す(別もの)
🔴 次に出る:ロールフォワードとロールバック
①ロールフォワード=完了した処理を進めて再現する(前へ)
②ロールバック=未完了の処理を取り消して戻す(後ろへ)
🟡 押さえると安定:永続性との関係
①バックアップ・リカバリで、障害が起きてもデータを守る
②ACIDの永続性(Durability)を支える
よくある間違い
①「バックアップとリカバリは、同じことだ」→ ✗ バックアップは事前の備え、リカバリは事後の復旧。役割が違う。
②「ロールフォワードとロールバックは、同じものだ」→ ✗ ロールフォワードは進めて再現(前へ)、ロールバックは取り消して戻す(後ろへ)。方向が逆。
③「バックアップは、障害が起きた後にとるものだ」→ ✗ バックアップは、事前にデータの控えをとっておくこと。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(バックアップ・リカバリの正体)
バックアップ・リカバリに関する次の記述のうち、最も適切なものはどれか。
- 社員の出退勤を記録して、毎月の給与を計算するためのしくみだ
- 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
- データベースの障害に備え、復旧するためのしくみのことである
- 完成したシステムを宣伝して、より多く売るための広告活動である
解答は 3 です。
バックアップ・リカバリは、データベースの障害に備え、復旧するためのしくみなのです。事前の備えと、事後の復旧なります。
選択肢1は給与計算、選択肢2は請求書の事務、選択肢4は広告で、どれも違うのです。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算のしくみではない |
| 2 | ✗ | 請求書の事務の話 |
| 3 | ✓ | 障害に備え復旧するしくみで正しい |
| 4 | ✗ | 広告活動ではない |
オリジナル問題2(バックアップとリカバリの違い)
バックアップとリカバリの違いに関する次の記述のうち、最も適切なものはどれか。
- 社員の給与を計算するときだけ、違いが出るとされているものである
- バックアップは事前の備え、リカバリは事後の復旧で、別ものである
- 取引先への請求書の枚数しだいで、違いが決まるとされているのだ
- バックアップもリカバリも、まったく同じことだとされているのだ
解答は 2 です。
バックアップは事前の備え、リカバリは事後の復旧で、別ものなのです。保険に入るのと、事故の後に修理するイメージなります。
選択肢1の給与、選択肢3の請求書、選択肢4の「まったく同じこと」は、いずれも違うのです。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算で違いが出るのではない |
| 2 | ✓ | バックアップ=事前・リカバリ=事後で正しい |
| 3 | ✗ | 請求書の枚数で決まるのではない |
| 4 | ✗ | 役割が違い、同じではない |
オリジナル問題3(ロールフォワードとロールバック)
ロールフォワードとロールバックに関する次の記述のうち、最も適切なものはどれか。
- 社員の給与を計算するときだけ、行われるものだとされている
- 取引先へ請求書を郵送するときだけ、行われるものだとされる
- ロールフォワードもロールバックも、まったく同じものなのである
- フォワードは進めて再現、バックは取り消して戻す(方向が逆)
解答は 4 です。
フォワードは進めて再現、バックは取り消して戻す(方向が逆)なのです。フォワードは前へ、バックは後ろへなります。
選択肢1の給与、選択肢2の請求書、選択肢3の「まったく同じ」は、いずれも違うのです。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算のときだけではない |
| 2 | ✗ | 請求書のときだけではない |
| 3 | ✗ | 方向が逆で、同じではない |
| 4 | ✓ | フォワード=進める・バック=戻すで正しい |
まとめ
押さえどころ
- 🔴 バックアップとリカバリ = バックアップは事前にデータの控えをとること、リカバリは障害後に元へ戻す復旧。別もの。
- 🔴 ロールフォワードとロールバック = フォワードは完了した処理を進めて再現(前へ)、バックは未完了を取り消して戻す(後ろへ)。方向が逆。
- 🟡 永続性との関係 = バックアップ・リカバリで、障害が起きてもデータを守る(ACIDの永続性を支える)。
次に学ぶ
- トランザクション・ACID ── ひとまとまりの処理。リカバリは、その永続性(D)を支える。
- RAID ── 複数ディスクで安全性を高める技術。バックアップとあわせて、データを守る。
執筆: SikakuQuest編集部