ITパスポート 2017年 秋期 問76
問題文
データベースの処理に関する次の記述中のa, bに入れる字句の適切な組合せはどれか。
データベースに対する処理の一貫性を保証するために、関連する一連の処理を一つの単位にまとめて処理することを[ a ]といい、[ a ]が正常に終了しなかった場合に備えて[ b ]にデータの更新履歴を取っている。

選択肢
ア:
イ:
ウ:
エ:(正解)
🔒 解説は解答すると表示されます
データベースの処理に関する記述(a, b)【ITパスポート 解説】
正解の理由
文中の「関連する一連の処理を一つの単位にまとめて処理すること」は、複数の操作を「全部成功するか全部失敗して元に戻すか」を保証する仕組み、すなわちトランザクション(transaction:複数の処理を一つの単位で扱う仕組み)を指します。さらに「正常に終了しなかった場合に備えて更新履歴を取っている」は、更新の履歴を残して障害時に復旧や巻き戻し(ロールバック)を行うためのログファイル(log file:更新履歴や操作履歴を記録するファイル)を意味します。したがって a は「トランザクション処理」、b は「ログファイル」で、選択肢のうち エ が正しい組合せです。
解法ステップ
- 文章中のキーワードを探す:「一つの単位にまとめて処理する」「処理の一貫性を保証」→ トランザクションを想起。
- 「正常に終了しなかった場合に備えて…更新履歴を取っている」→ 障害時の復旧やロールバックに使うのはログ(ログファイル)。
- 選択肢を照合:a = トランザクション処理、b = ログファイル の組合せがある行を選ぶ(エ)。
選択肢別の誤答解説
-
ア:a = 正規化、b = バックアップファイル
-> 正規化(normalization:データの重複を減らす設計手法)は設計上の話で「処理を一つの単位にまとめる」という意味ではない。バックアップは復元用だが、トランザクションの途中の更新履歴を逐次記録するものではないため不適切。 -
イ:a = 正規化、b = ログファイル
-> b の「ログファイル」は正しい用途だが、a が正規化ではない。処理の一貫性を保証する仕組みとしてはトランザクションが正解。 -
ウ:a = トランザクション処理、b = バックアップファイル
-> a は正しいが、バックアップファイルは通常「一定時点のデータを丸ごと保存する」もので、トランザクションの途中経過や逐次の更新履歴を使って即時にロールバックや細かい復旧を行う用途には向かない。従って b はログファイルであるべき。 -
エ:a = トランザクション処理、b = ログファイル
-> トランザクションで処理の一貫性(ACIDの一部)を保証し、ログファイルに更新履歴を記録して障害時に復旧・ロールバックする。本文の条件を満たす正解。
よくある誤解
-
「バックアップとログは同じ」と考える誤解
- バックアップはある時点のデータのコピー(丸ごと保存)です。ログは操作ごとの更新履歴を時系列で記録します。復旧方法や目的が異なります。
-
「正規化=処理のまとまり」と勘違いする
- 正規化はデータベース設計の手法で、処理単位(トランザクション)や実行時の一貫性とは別の概念です。
-
「ログがあればバックアップは不要」と考える誤解
- ログは細かな履歴を持ちますが、ディスク破損などで元データ自体が失われた場合、定期的なバックアップがないと完全復旧できないことがあります。両方が重要です。
補足コラム
-
ACIDとは(データベーストランザクションが満たすべき性質)
- Atomicity(原子性):トランザクションは「全部」か「無し」の扱い。途中で失敗すれば元に戻る。
- Consistency(一貫性):トランザクションの前後でデータの整合性が保たれる。
- Isolation(独立性):並列実行でも互いに干渉しないように見えること。
- Durability(永続性):コミットされた変更は障害後も残る。
これらを理解すると、なぜトランザクションとログが必要かが腑に落ちます。
-
実務例:銀行の振替処理
- 「A口座から引き落とし、B口座に入金」この2つの操作は両方成功するか両方失敗する必要があります(トランザクション)。処理中に障害があれば、ログを使って途中の変更を取り消す(ロールバック)か、最後までやり直してデータの矛盾を防ぎます。
-
技術メモ:WAL(Write-Ahead Logging)
- 多くのDBは「先にログを書いてからデータ本体を更新する」方式(WAL)を使います。これにより障害時にログから復旧できます。
FAQ
Q1. ログファイルはどんな形式で保存されますか?
A1. システムやDBによりますが、基本は時系列の操作記録です。テキスト形式やバイナリ形式があり、復旧ツールが読み取れる形で保存されます。
A1. システムやDBによりますが、基本は時系列の操作記録です。テキスト形式やバイナリ形式があり、復旧ツールが読み取れる形で保存されます。
Q2. トランザクションは必ず必要ですか?
A2. 複数の関連操作でデータの整合性を保ちたい場合は必要です。単一の読み取りだけなら不要なこともあります。
A2. 複数の関連操作でデータの整合性を保ちたい場合は必要です。単一の読み取りだけなら不要なこともあります。
Q3. バックアップの頻度はどれくらいが良いですか?
A3. 業務の重要度や許容できるデータ損失量(RPO: Recovery Point Objective)によります。ログと組み合わせて、日次・週次・増分などのポリシーを設計します。
A3. 業務の重要度や許容できるデータ損失量(RPO: Recovery Point Objective)によります。ログと組み合わせて、日次・週次・増分などのポリシーを設計します。
関連キーワード: トランザクション処理、ログファイル、バックアップ、正規化、ACID、ロールバック、WAL

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

