分散データベースのトランザクションは複数のサブトランザクションに分割され、複数のサイトで実行される。
このとき、トランザクションのコミット制御に関する記述のうち、適切なものはどれか。
ア | 2相コミットでは、サブトランザクションが実行される全てのサイトからコミット了承応答が届いても、主サイトはサブトランザクションごとにをコミット又はロールバックの異なる指示をする場合がある。 |
イ | 2相コミットを用いても、サブトランザクションが実行されるサイトに主サイトの指示が届かず、サブトランザクションをコミットすべきかロールバックすべきか分からない場合がある。 |
ウ | 2相コミットを用いると、サブトランザクションがロールバックされてもトランザクションがコミットされる場合がある。 |
エ | 集中型データベースのコミット制御である1相コミットで、個々のサイトが独自に分散データベースのコミットを行っても、サイト間のデータベースの一貫性は保証できる。 |
答え イ
【解説】
ア | すべてのサブトランザクションからコミット了承応答が届けばすべてコミットされます。 |
イ | 装置故障や通信障害などにより、主サイトからの指示が届かないことがあるため、サブトランザクションをコミットすべきかロールバックすべきか分からない場合があります。 |
ウ | サブトランザクションがロールバックされると、トランザクションもロールバックされます。 |
エ | 1相コミットではサイト間のデータベース(分散データベース)の一貫性は保証できません。 |
【キーワード】
・コミット
・2相コミットプロトコル