情報処理試験を勉強していると、「コールドスタートとウォームスタートって何が違うの?」「バックアップとログの使い分けがよくわからない」と混乱しがちです。
この記事では、コールドスタートの意味から障害回復の全体像、試験での出題パターンまでを整理します。
対象試験と出題頻度
コールドスタートは、応用情報技術者で出題されるテーマです。
DBMSの障害回復機能に関する問題の中で、ウォームスタートやロールフォワード・ロールバックとの区別が問われます。
詳細をクリックして確認
応用情報技術者
★★☆☆☆
ランクC(応用)余裕があれば覚える
用語の定義
コールドスタート(Cold Start)とは、一言で言うと
「データベースの状態をすべてクリアし、バックアップファイルから復元して再始動する障害回復方式」
のことです。
イメージとしては、「工場の全面建て替え」です。
工場の建物(ハードウェア)自体が壊れてしまったら、部分的な修理では対応できません。
新しい建物を用意し、倉庫に保管していた設計図と在庫台帳(バックアップ)を持ってきて、ゼロから復旧するしかありません。コールドスタートはまさにこの「ゼロからの再建」に相当する方式です。
コールドスタートの基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Cold Start |
| 分類 | データベース > 障害回復 > 再始動方式 |
| 使用場面 | ディスク故障などハードウェア障害(媒体障害)が発生した場合 |
| 復旧に使うもの | バックアップファイル + 更新後ログ(ジャーナル) |
| 別名 | 初期プログラムロード(IPL)と同義で使われることがある |
解説
データベースの障害は大きく「媒体障害」と「システム障害」に分かれます。ディスクが物理的に壊れる媒体障害の場合、主記憶上のデータもチェックポイント情報も失われるため、チェックポイントを起点にした回復ができません。
この状況に対処するために、あらかじめ別媒体に退避しておいたバックアップファイルを使い、データベースをまるごと復元する手順が必要になります。
これがコールドスタートの役割です。
コールドスタートの復旧手順
復旧は以下の3ステップで進みます。
コールドスタートの復旧フロー
Step 1:ハードウェア交換
故障したディスクなどの記憶媒体を新品に交換する
Step 2:バックアップからリストア
退避しておいたバックアップファイルで、DBをバックアップ時点の状態に復元する
Step 3:ロールフォワード
更新後ログを使って、バックアップ以降にコミット済みのトランザクションを再適用し、障害直前まで復旧する
▲ チェックポイントではなくバックアップが復旧の起点になる点がポイント
ウォームスタートとの違い
障害の深刻度によって再始動方式が異なります。両者を正確に区別できることが理解の要です。
| 比較項目 | コールドスタート | ウォームスタート |
|---|---|---|
| 障害の種類 | 媒体障害(ディスク故障など) | システム障害(ソフトウェア異常、電源断など) |
| 復旧の起点 | バックアップファイル | チェックポイント |
| 主記憶の状態 | すべてクリア(電源OFF→ON) | チェックポイント情報が残っている |
| 使用するもの | バックアップ + 更新後ログ | チェックポイント + 更新ログ(前/後) |
| 復旧時間 | 長い(バックアップ全体の復元が必要) | 短い(差分の再適用のみ) |
図解:コールドスタートとウォームスタートの復旧起点の違い
バックアップ
取得
チェック
ポイント
障害
発生
見分けポイント:復旧バーの長さに注目してください。コールドスタートはバックアップ時点から長い区間を復旧するため時間がかかる。ウォームスタートはチェックポイントからの短い区間だけなので高速に復旧できる。
なんとなくで覚えたい人向け:障害回復をざっくり理解
障害回復のポイントは「何を起点にするか」の一点に尽きます。チェックポイントが使えるならウォームスタート、チェックポイントごと消えてしまった(=ディスク故障)ならコールドスタートです。ウォームスタートは「再起動するだけ」、コールドスタートは「バックアップから丸ごと作り直す」と覚えれば十分です。
では、この用語が試験でどのように出題されるか見ていきましょう。
コールドスタートの核心を3行で
・ハードウェア障害(媒体障害)でチェックポイントからの復旧が不可能な場合に使う再始動方式
・バックアップファイルからDBを復元し、更新後ログで障害直前まで巻き進める
・ウォームスタートとの違いは「復旧の起点がバックアップかチェックポイントか」
試験ではこう出る!
コールドスタートは、FE・APの午前問題でデータベースの回復処理に関する問題として出題されています。単独で問われるよりも、ウォームスタートやロールフォワード・ロールバックとの区別を求められる形式が中心です。
過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| FE H17春 問62 |
データベースの回復処理に関する記述として適切なものを選ぶ問題。 | ・ウォームスタートの説明が正解 ・「コールドスタートではチェックポイントのログを使用する」が誤りの選択肢として登場 |
| FE H20春 問60 |
上記FE H17春 問62と同一構成の問題(流用)。 | ・選択肢の文言もほぼ同一 ・FEでは回復処理の基本問題として繰り返し流用される典型例 |
| FE H30秋 問56 |
システムを初期状態に戻して再開する方法であり、初期プログラムロードとも呼ばれるものを選ぶ問題。 | ・正解は「コールドスタート」 ・ウォームスタート、ロールバック、ロールフォワードがひっかけ |
IPA試験での出題パターン
パターン1:「コールドスタートの説明として正しいものを選べ」
FE H30秋 問56のように、4つの回復処理用語(コールドスタート・ウォームスタート・ロールバック・ロールフォワード)の意味を区別する形式。「初期状態に戻す」「バックアップから復元」がコールドスタートのキーフレーズ。
パターン2:「回復処理の記述として適切なものを選べ」
FE H17春 問62/H20春 問60のように、ウォームスタートとコールドスタートの説明文が混在し、正しい組み合わせを選ばせる形式。「コールドスタートではチェックポイントのログを使用する」は典型的なひっかけで、正しくはバックアップファイルが起点になる。
ここだけは確実に押さえてください。「コールドスタート=バックアップが起点」「ウォームスタート=チェックポイントが起点」の対比さえ覚えていれば得点できます。それ以上の深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. データベースの障害回復における「コールドスタート」の説明として、最も適切なものはどれでしょうか?
- A. チェックポイントまで戻り、更新ログを使ってコミット済みトランザクションを再適用し、未コミットのトランザクションを取り消すことでデータベースを回復する。
- B. データベースの状態をすべてクリアし、バックアップファイルから復元した後、更新後ログを用いて障害発生直前の状態まで回復する。
- C. トランザクションの途中で障害が発生した場合に、更新前ログを用いて処理開始前の状態に巻き戻す。
正解と解説を見る
正解:B
解説:
コールドスタートは、媒体障害によりチェックポイントからの復旧が不可能な場合に、バックアップファイルを起点としてデータベースを丸ごと復元し、更新後ログで障害直前まで巻き進める方式です。
選択肢Aはウォームスタートの説明です。ウォームスタートはチェックポイントを起点にロールフォワードとロールバックを組み合わせて復旧する方式であり、バックアップファイルからの全面復元は行いません。選択肢Cはロールバック(後退復帰)の説明です。ロールバックは未コミットのトランザクションを開始前の状態に戻す操作であり、データベース全体の再始動方式ではありません。
よくある質問(FAQ)
Q. コールドスタートと初期プログラムロード(IPL)は同じ意味ですか?
FE H30秋 問56では「初期プログラムロードとも呼ばれる」と記述されており、IPA試験上は同義として扱われています。ただし厳密には、IPLはOS起動時のプログラム読み込み処理を指す用語であり、データベース障害回復に限定したコールドスタートとは文脈が異なります。試験対策としては「コールドスタート=IPLと同義」と覚えておけば得点に支障はありません。
Q. コールドスタートではログファイルをまったく使わないのですか?
バックアップからの復元後に更新後ログ(ジャーナル)を使ってロールフォワードを行う場合があります。ただし、ログファイル自体もディスク上にあるため、媒体障害でログごと失われていればログなしでの復旧になります。その場合はバックアップ取得時点までしか戻せず、バックアップ以降の更新分は消失します。過去問の選択肢で「コールドスタートではチェックポイントのログを使用する」と書かれていた場合は誤りです。
Q. 実務でコールドスタートが必要になる場面はどのくらいありますか?
現在の本番環境ではRAID構成やレプリケーションによってディスク障害への耐性が高められているため、コールドスタートが必要になるケースは稀です。ただし、バックアップ+ログによる復旧手順自体はディザスタリカバリ(災害復旧)計画の中核を担っており、運用設計の知識としては必須です。
Q. サーバーレス(AWS Lambda等)の「コールドスタート」とは別物ですか?
完全に別概念です。サーバーレスにおけるコールドスタートは、関数の初回起動時にコンテナの生成やランタイムの初期化が走ることで応答が遅くなる現象を指します。データベース障害回復のコールドスタートとは「初期状態からの立ち上げ」という共通のニュアンスはあるものの、技術的な中身は無関係です。IPA試験で問われるのはデータベース障害回復の文脈のみです。