【ふぉわーどりかばり】
フォワードリカバリ とは?
💡 バックアップ+ログの再生で、障害直前まで巻き戻す復旧術
📌 このページのポイント
- 定期バックアップを復元し、その後のトランザクションログ(WAL/REDOログ)を時系列順に再適用して障害直前の状態に復旧する
- ロールバック(トランザクションの取り消し)とは逆に、ログを「前に進める」のでフォワードリカバリ(ロールフォワード)と呼ばれる
- Oracle、PostgreSQL、SQL Serverなど主要RDBMSはすべてこの仕組みを備えており、ポイントインタイムリカバリ(PITR)として利用できる
- RPO(Recovery Point Objective)をほぼゼロにできるが、ログが破損・欠損していると復旧できない地点が生じるためログの保全が重要
フォワードリカバリってどういう仕組みなの?
ロールバックとは違うの?
バックアップだけじゃダメなの?
バックアップは例えば毎日深夜に取るとすると、最大24時間分のデータが失われる可能性があるよね。フォワードリカバリならログさえ残っていれば障害の数秒前まで復旧できる。これをポイントインタイムリカバリ(PITR)って呼ぶんだ
ログが壊れてたらどうなるの?
それが最大のリスクだね。ログが破損や欠損していると、その地点以降は復旧できなくなる。だからログファイルはDB本体とは別のディスクに保存したり、リアルタイムで遠隔地にレプリケーションしたりするのが鉄則だよ
実際の運用ではどう設定するの?
まとめ:ざっくりこれだけ覚えればOK!
フォワードリカバリって出てきたら「バックアップにログを再適用して障害直前まで戻す復旧方法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Forward Recovery」 = 前進回復
💬 Forward(前へ進む)+ Recovery(回復)で、ログを前に向かって再生していくイメージだよ。ロールフォワード(Roll Forward)という別名のほうが直感的かもしれないね