データベース更新における2相コミットに関する記述のうち、適切なものはどれか。
2相コミットは全サイトへの可否確認のやり取りが前提
選択肢
- ア2相コミットは、トランザクションの処理途中のデータを他のトランザクションから参照できなくする制御方式のことである。
- イ2相コミットを行うためには、同時に更新しようとする分散データベースの全てが更新可能かどうかを判断するためのやり取りが必要である。
- ウ2相コミットを採用している場合、ロールバックは発生しない。
- エ2相コミットを使えば、通信異常が発生しても、トランザクションをコミットさせることができる。
正解と解説
正解:イ 2相コミットを行うためには、同時に更新しようとする分散データベースの全てが更新可能かどうかを判断するためのやり取りが必要である。
2相コミットでは、第1相で調停役のサイトが関係する全サイトにコミット可能かどうかを問い合わせ、その応答を集めてから第2相でコミットまたはロールバックを指示する。この可否確認のやり取りがあるからこそ、分散した複数のデータベースの更新を一括して確定・取消しできる。
選択肢ごとの解説
- ア処理途中のデータを他から見せないのは隔離性を保つ同時実行制御の話であり、2相コミットの説明ではない。
- イ正しい。全サイトが更新可能かを確認するやり取りが第1相にあたる。
- ウ1サイトでも不可の応答があれば全サイトでロールバックが行われる。
- エ第2相の指示が届かない通信異常では、コミットできず不確定な状態が生じ得る。
同じ分野の他の問題
- 分散データベースのトランザクションが複数のサブトランザクションに分割され、複数のサイトで実行されるとき、トランザクション…2021年度 秋期 午前II 問12
- 分散データベースシステムにおいて、複数のデータベースサイトを更新する場合に用いられる2相コミットの処理手順のうち、適切な…2019年度 春期 午前II 問15
- 分散データベースのトランザクションは複数のサブトランザクションに分割され、複数のサイトで実行される。このとき、トランザク…2018年度 春期 午前II 問13
- 分散データベースシステムにおいて、複数のデータベースを更新する場合に用いられる2相コミットの処理手順として、適切なものは…2016年度 春期 午前II 問14
- 大文字のアルファベットで始まる膨大な数のデータを、規則に従って複数のノードに割り当てる。このようにあらかじめ定めた規則に…2023年度 秋期 午前II 問2
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。