スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.5582
ある銀行の口座振替システムにおいて、A口座からの引き落とし処理とB口座への入金処理を一つのまとまりとして実行している最中に、ネットワークの切断によりシステムが異常終了した。このとき、A口座からすでに引き落とされた金額が失われないよう、データベースを処理開始前の正しい状態に戻すために用いられる、一連の更新処理の枠組みや概念を指す用語はどれか。

【正解の解説】

トランザクション

これはATMでの現金振込に似ています。自分の口座からお金が引き落とされたのに相手の口座に入らないという中途半端な状態を防ぐため、処理の途中で停電などのトラブルが起きても、まるで最初から何もなかったかのように元の状態へ綺麗に巻き戻す「すべてか無か」の安全ネットとして機能します。

スポンサーリンク

【その他の選択肢の解説】

ロールフォワード

問題文にある「処理開始前の正しい状態に戻す」ための仕組みではなく、逆に「過去のデータから障害直前の状態まで進める(やり直す)」ための技術です。ロールバックと混同しやすいため、進めるのか戻すのかの方向性をしっかり区別して覚えましょう。

チェックポイント

ログに記録された膨大な過去の処理すべてを見直すのは時間がかかるため、定期的に「ここまでデータが安全に保存されたよ」という目印(チェックポイント)をつけておき、障害時の復旧作業を効率化するための目印として利用されます。

デッドロック

ネットワーク切断による異常終了ではなく、人間で例えると、お互いに「先にどうぞ」「いやそちらこそどうぞ」と道を譲り合った結果、二度と動けなくなる交通渋滞のような状態を指します。排他制御の競合によって発生するバグの一種です。