平成29年度 秋期 ITパスポート試験 公開問題 問76 解説 トランザクション処理
データベースの処理に関する次の記述中のa, bに入れる字句の適切な組合せはどれか。 データベースに対する処理の一貫性を保証するために, 関連する一連の処理を一つの単位にまとめて処理することを a といい, a が正常に終了しなかった場合に備えて b にデータの更新履歴を取っている。
- ア 正規化, バックアップファイル
- イ 正規化, ログファイル
- ウ トランザクション処理, バックアップファイル
- エ トランザクション処理, ログファイル ✓ 正答
解説
問題文にある「一連の処理を一つの単位にまとめる」というキーワードから、データベースの性質であるトランザクションに着目します。また、処理が失敗した際に「更新履歴」を使って整合性を戻す仕組みが必要であることから、ログファイル(ジャーナルファイル)を選択します。
トランザクション処理とACID特性
データベースにおいて、銀行の振込のように複数の処理が一つでも欠けると不整合が生じる一連の作業を、不可分な一つの単位として扱うことをトランザクションといいます。
このトランザクションには、信頼性を維持するためのACID特性という重要な原則があります。 ・原子性(Atomicity):すべて実行されるか、全く実行されないかのどちらかであること。 ・一貫性(Consistency):処理前後でデータベースが正しい状態に保たれること。 ・独立性(Isolation):複数の処理が同時に行われても、お互いに影響を与えないこと。 ・永続性(Durability):一度完了した処理の結果は、障害が発生しても失われないこと。
これらの原則を守るために、システムは処理の過程を逐一ログファイルに記録しています。
ログファイルによる復旧の仕組み
トランザクションの途中でシステムが故障した場合、データベースは中途半端な状態になってしまいます。このとき、ログファイルに記録された更新履歴を使用することで、データを正しい状態に戻すことができます。
具体的には、以下の2つの方法で整合性を保ちます。 ・ロールバック:処理が正常に完了しなかった場合、ログを使って処理前の状態に戻す。 ・ロールフォワード:ディスク障害などでデータベースが破壊された際、バックアップとログを使って障害直前の状態まで再実行する。
試験では、この「トランザクション=一連の単位」「ログファイル=更新履歴」という組み合わせが頻出です。特に、更新履歴を保存するファイルを「ログファイル」または「ジャーナルファイル」と呼ぶ点は、名称を変えて問われることもあるためセットで覚えておくと確実です。
ITパスポート試験ドットコム:トランザクション処理 データベーススペシャリスト.com:トランザクション管理とログファイル IPA 独立行政法人 情報処理推進機構:ITパスポート試験 シラバス