データベース
この節の解説動画はプレミアム限定です。プレミアムなら全科目・全節が見放題!
プレミアムで見るデータベースが壊れても復旧できる仕組みがあるよ!ロールフォワードとロールバックを使い分けよう!
簡単にいうと
データベースが壊れても復旧できる仕組みがあるよ!ロールフォワードとロールバックを使い分けよう!
① バックアップの3方式
データベースの障害に備えるためには、定期的なバックアップが不可欠です。バックアップには主に3つの方式があります。
| 方式 | 取得内容 | 取得時間 | 復旧時間 | 必要な保存量 |
|---|---|---|---|---|
| フルバックアップ | データベース全体を丸ごと取得 | 長い(最も時間がかかる) | 短い(1回のリストアで復旧) | 大きい |
| 差分バックアップ | 前回のフルバックアップ以降に変更されたデータのみ取得 | 中程度 | 中程度(フル+最新の差分の2回で復旧) | 中程度 |
| 増分バックアップ | 前回のバックアップ(フルまたは増分)以降に変更されたデータのみ取得 | 短い(最も少ないデータ量) |
ポイントは取得時間と復旧時間のトレードオフです。フルバックアップは毎回全データを取るので時間がかかりますが、復旧は1回のリストアで済みます。増分バックアップは取得が速い反面、復旧時にはフルバックアップに加えてすべての増分を順番に適用する必要があり、復旧に時間がかかります。
② ログファイル(ジャーナルファイル)
ログファイル(ジャーナルファイル)は、データベースに対するすべての更新操作を時系列順に記録したファイルです。障害回復の要となる存在です。
ログには以下の情報が含まれます。
ログファイルの重要な原則がログ先書き(WAL: Write-Ahead Logging)です。これは「データベース本体を更新する前に、必ず先にログファイルに記録する」というルールです。この順序を守ることで、データ更新中にシステムがダウンしても、ログを参照してどこまで処理が完了していたかを正確に判断できます。
③ ロールフォワードとロールバック
障害の種類に応じて、2つの回復手法を使い分けます。
| 比較項目 | ロールフォワード(前進復帰) | ロールバック(後退復帰) |
|---|---|---|
| 対象障害 | ハードウェア障害(ディスク故障、停電など) | ソフトウェア障害(プログラムのバグ、デッドロックなど) |
| 使用情報 | バックアップ + ログの更新後情報 | ログの更新前情報 |
| 手順 | ①バックアップからデータを復元 → ②ログの更新後情報を順に適用してコミット済みの状態まで進める | ①ログの更新前情報を使って、未コミットのトランザクションの変更を取り消す |
| 動作の方向 | 過去→現在の方向に復元を進める | 現在→過去の方向に変更を巻き戻す |
| データ消失 |
覚え方は「ロールフォワード=前に進む=バックアップ+更新後ログ=HW障害」「ロールバック=後ろに戻る=更新前ログ=SW障害」です。
④ イメージバックアップとファイルバックアップ
バックアップの取得方法にも2つのアプローチがあります。
| 方式 | 内容 | メリット | デメリット |
|---|---|---|---|
| イメージバックアップ | ディスク全体をそのままコピー(ビットレベルの複製) | OS・設定・データすべてを丸ごと復元可能。復旧が高速 | データ量が大きく、取得に時間がかかる |
| ファイルバックアップ | 必要なファイルやフォルダのみを選択してコピー | データ量が小さく、短時間で取得可能 | OS環境の復元ができない。ファイル単位の管理が必要 |
イメージバックアップはディスクの「写真」を撮るイメージで、システム全体の復元(災害復旧など)に適しています。ファイルバックアップは必要なデータだけを対象にするため、日常的な差分・増分バックアップに適しています。
具体例
ロールフォワードとロールバックの違いを、時間軸で具体的に追ってみましょう。
月曜日の夜: フルバックアップを取得(この時点のDBの完全なコピー)
火曜日: トランザクションT1(顧客Aの住所変更)→ コミット完了
水曜日: トランザクションT2(顧客Bの電話番号変更)→ コミット完了
木曜日の午前: トランザクションT3(顧客Cの削除)→ 実行中、未コミット
木曜日の午後: ディスク故障が発生!
この場合、ロールフォワードで回復します。
①月曜日のフルバックアップからDBを復元する
②ログの更新後情報を使って、T1(火曜)とT2(水曜)の変更を再適用する
③T3は未コミットなので適用しない
→ 水曜日のコミット完了時点のDBが復元されます。
一方、もしT3の処理中にプログラムのバグが発覚した場合はロールバックです。
①ログの更新前情報を使って、T3による変更を取り消す
→ T3実行前の状態に戻ります。T1とT2の結果はそのまま残ります。

ロールフォワード(前進復帰)

ロールバック(後退復帰)
試験のポイント
動画・テキスト・過去問・AI添削まですべて網羅!
予備校代の1/10以下で、独学の不安をまるごと解決できます
| 小さい |
| コミット済みデータは消失しない |
| 未コミットの変更のみ取り消し |
プレミアムプラン
¥14,800/ 購入日から1年間有効(税込)
決済はStripe(世界最高水準・PCI-DSS準拠)で安全に処理されます。カード情報は当サービスに保存されません。