分散データベースのトランザクションは複数のサブトランザクションに分割され、複数のサイトで実行される。このとき、トランザクションのコミット制御に関する記述のうち、適切なものはどれか。
2相コミットでも指示が届かないと判断できず待たされる
選択肢
- ア2相コミットでは、サブトランザクションが実行される全てのサイトからコミット了承応答が主サイトに届いても、主サイトはサブトランザクションごとにコミット又はロールバックの異なる指示を出す場合がある。
- イ2相コミットを用いても、サブトランザクションが実行されるサイトに主サイトの指示が届かず、サブトランザクションをコミットすべきかロールバックすべきか分からない場合がある。
- ウ2相コミットを用いると、サブトランザクションがロールバックされてもトランザクションがコミットされる場合がある。
- エ集中型データベースのコミット制御である1相コミットで、分散データベースを構成する個々のサイトが独自にコミットを行っても、サイト間のデータベースの一貫性は保証できる。
正解と解説
正解:イ 2相コミットを用いても、サブトランザクションが実行されるサイトに主サイトの指示が届かず、サブトランザクションをコミットすべきかロールバックすべきか分からない場合がある。
2相コミットには、了承応答を返した後に主サイトからの最終指示が届かないと、そのサイトがコミットもロールバックもできずロックを保持したまま待ち続けるという弱点がある。これをブロッキングと呼び、2相コミットでも完全には避けられない。
選択肢ごとの解説
- ア全サイトが了承したなら全サイトにコミットを指示するので、サイトごとに異なる指示は出さない。
- イ正しい。主サイトの指示が届かないと判断できず待たされる(ブロッキング)状態が起こり得る。
- ウ1サイトでもロールバックすればトランザクション全体がロールバックされる。
- エ各サイトが独自にコミットする方式では、一部だけ確定して一貫性が崩れ得る。
同じ分野の他の問題
- 分散データベースのトランザクションが複数のサブトランザクションに分割され、複数のサイトで実行されるとき、トランザクション…2021年度 秋期 午前II 問12
- 分散データベースシステムにおいて、複数のデータベースサイトを更新する場合に用いられる2相コミットの処理手順のうち、適切な…2019年度 春期 午前II 問15
- データベース更新における2相コミットに関する記述のうち、適切なものはどれか。2017年度 春期 午前II 問14
- 分散データベースシステムにおいて、複数のデータベースを更新する場合に用いられる2相コミットの処理手順として、適切なものは…2016年度 春期 午前II 問14
- 大文字のアルファベットで始まる膨大な数のデータを、規則に従って複数のノードに割り当てる。このようにあらかじめ定めた規則に…2023年度 秋期 午前II 問2
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。