基本情報技術者 2012年 秋期 午前(科目A) 問54
問題文
データの追加・変更・削除が、少ないながらも一定の頻度で行われるデータベースがある。このデータベースのフルバックアップを磁気テープに取得する時間間隔を今までの2倍にした。このとき、データベースのバックアップ又は復旧に関する記述のうち、適切なものはどれか。
選択肢
ア:ジャーナル情報によって復旧するときの処理時間が平均して約2倍になる。(正解)
イ:フルバックアップ1回当たりの磁気テープ使用量が約2倍になる。
ウ:フルバックアップ1回当たりの磁気テープ使用量が約半分になる。
エ:フルバックアップ取得の平均実行時間が約2倍になる。
データベースのフルバックアップ間隔を2倍にしたときの影響【午前2 解説】
要点まとめ
- 結論: フルバックアップ間隔を2倍にすると、故障時に再生すべきジャーナル(トランザクションログ)量の期待値が約2倍になり、ジャーナル再生が主因の復旧時間が平均して約2倍に増加します。
- 根拠: 故障発生時点がバックアップ間で一様に分布すると仮定すると、最後のフルバックアップからの経過時間の期待値は間隔の半分で、間隔を2倍にすると期待経過時間も2倍になります。
- 差がつくポイント: フルバックアップ「1回当たり」のサイズやテープ消費量と、復旧で再生するジャーナル量は別の概念であるため混同しないことが重要です。
正解の理由
正解は ア です。理由は以下の通りです。
フルバックアップと復旧手順を考えると、復旧時には通常「最新のフルバックアップをリストア」してから「そのフルバックアップ以降のすべてのジャーナル(トランザクションログ)を順に再生」して最新状態に戻します。故障が発生する時点がフルバックアップ間で一様に起きると仮定すると、平均的に最後のフルバックアップからの経過時間は間隔の半分です。元の間隔を 、新しい間隔を とすると、期待経過時間はそれぞれ と となり、ジャーナル再生量(およびその処理時間)は概ね2倍になります。したがって復旧処理時間の主因であるジャーナルの再生処理時間が平均して約2倍になる、という選択肢が正しいです。
よくある誤解
- 「フルバックアップ1回当たりのテープ使用量が変わる」と誤解する人が多い。フルバックアップ1回分のデータ量(=その時点のDBサイズ)は間隔そのものでは直接変わりません。
- 「バックアップの実行時間が2倍になる」と混同しがちだが、個々のフルバックアップの実行時間はデータ量に依存し、単に実行間隔を伸ばしたからといって実行時間が2倍になるわけではありません。
- 「ジャーナル量=フルバックアップサイズ」と混同する。ジャーナルはフルバックアップ後に発生した更新のログであり概念が異なります。
解法ステップ
- 問題の条件(フルバックアップ間隔を2倍)から「何が変わるのか」を整理する。フルバックアップの頻度が減る点に注目。
- 復旧手順を確認する(フルバックアップ復元 → ジャーナル再生)。復旧時間はフル復元時間+ジャーナル再生時間の和である。
- 故障時刻がバックアップ間に一様に生じると仮定し、最後のフルバックアップからの平均経過時間は「間隔の半分」であることを用いる。
- 間隔を2倍にした場合の期待経過時間が2倍になり、再生すべきジャーナル量とその処理時間も概ね比例して2倍になると結論づける。
選択肢別の誤答解説
- ア: 正解。上記の通り、フルバックアップ間隔を2倍にすると平均的に再生するジャーナル量(=復旧時に処理するログ量)は約2倍になり、ジャーナル再生が主因なら復旧時間も約2倍になる。
- イ: 誤り。選択肢は「フルバックアップ1回当たりの磁気テープ使用量が約2倍になる」とあるが、フルバックアップ1回分のデータ量はバックアップ間隔そのものだけで単純に2倍になるとは限りません。設問の条件(追加・変更が少ない)では「1回当たり」のサイズはほぼ一定であり、間隔を伸ばしたからといって1回分が2倍になる根拠はない。
- ウ: 誤り。「1回当たりが約半分になる」と言うが、これも根拠がない。フルバックアップ1回分のテープ使用量は基本的にデータベースの総容量に依存し、間隔を伸ばすだけで半分になることはない。
- エ: 誤り。フルバックアップ取得の平均実行時間は、通常は1回あたりのデータ量に依存するため、実行間隔を2倍にしただけで平均実行時間が2倍になるわけではない。実行頻度は下がるが「実行1回の処理時間」は変わらない想定が普通である。
補足コラム
- 数学的表現: 元の間隔を とすると、故障時の平均経過時間は 。間隔を にすると平均経過時間は で、比は です。ジャーナル量を時間に比例すると仮定すれば復旧のジャーナル再生時間も約2倍。
- 実運用ではジャーナル再生がボトルネックになるため、RTO(復旧時間目標)を短くしたければフルバックアップ頻度を上げるか、差分/増分バックアップやスナップショット、継続的アーカイブ(WALアーカイブ等)を併用するのが一般的です。
- テープ保管の考え方: フルバックアップの「頻度」を減らせば、単位時間あたりのフルバックアップ用テープ使用量は減る(ただし世代保持ポリシーによる)。しかし問題の選択肢は「1回当たり」の使用量に言及しているため混同注意。
FAQ
Q1: 故障がバックアップ間で一様に起きない場合はどうなりますか?
A1: 一様分布の仮定を外すと期待値の計算は変わります。更新が特定周期で集中するなら最悪ケースを想定した設計(ピーク時のログ量や最大遡及時間)を行うべきです。
A1: 一様分布の仮定を外すと期待値の計算は変わります。更新が特定周期で集中するなら最悪ケースを想定した設計(ピーク時のログ量や最大遡及時間)を行うべきです。
Q2: フルバックアップの頻度を下げるとストレージコストは下がりますか?
A2: フルバックアップを減らせば単位時間あたりのフルバックアップ用テープ消費は減りますが、復旧時間や復旧リスク(RTO/RPO)とのトレードオフになるため、総合的に判断する必要があります。
A2: フルバックアップを減らせば単位時間あたりのフルバックアップ用テープ消費は減りますが、復旧時間や復旧リスク(RTO/RPO)とのトレードオフになるため、総合的に判断する必要があります。
Q3: 復旧時間を短縮する現実的な方法は?
A3: フルバックアップ頻度を上げる、差分/増分バックアップを利用する、トランザクションログのアーカイブと並列適用、復旧用に高速な媒体(ディスク/SSD)を使う、スナップショットを併用する等があります。
A3: フルバックアップ頻度を上げる、差分/増分バックアップを利用する、トランザクションログのアーカイブと並列適用、復旧用に高速な媒体(ディスク/SSD)を使う、スナップショットを併用する等があります。
関連キーワード: バックアップ間隔、フルバックアップ、ジャーナル再生、トランザクションログ、復旧時間、RTO、RPO、増分バックアップ、差分バックアップ、ポイントインタイムリカバリ、テープ保管、ログアーカイブ、スナップショット、リストア手順、テープ使用量、データベース運用、復旧設計

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

