平成23年度 特別 午前Ⅱ 問12
トランザクション処理
分散データベースに関する問題
分散データベースシステムにおいて,複数のデータベースを更新する場合に用いられる 2 相コミットの処理手順として,適切なものはどれか。
- ア主サイトが各データベースサイトにコミット準備要求を発行した場合,各データベースサイトは,準備ができていない場合だけ応答を返す。
- イ主サイトは,各データベースサイトにコミットが可能であることを確認した後,コミットを発行する。
- ウ主サイトは,各データベースサイトにコミットを発行し,コミットが失敗した場合には,再度コミットを発行する。
- エ主サイトは,各データベースサイトのロックに成功した後,コミットを発行し,各データベースサイトをアンロックする。
答えと解説を見る
✓ これが正解イ主サイトは,各データベースサイトにコミットが可能であることを確認した後,コミットを発行する。
解説
全サイトでコミットできることを確かめてから、コミットを指示します。
分散データベースの2相コミットは、複数のサイトにまたがる更新を、全サイトでそろって確定させるか、そろって取り消すための手順です。第1相で、主サイトが各サイトにコミットの準備を要求し、各サイトはコミットできるかどうかを応答します。第2相で、全サイトからコミット可能の応答がそろったときだけ主サイトはコミットを指示し、一つでも不可があればロールバックを指示します。確認してから確定させるという二段構えによって、あるサイトだけが更新されて他は戻るという食い違いを防ぎます。準備の問合せと全員の応答、そのあとの決定の指示、という二つの段を順に思い浮かべると、手順の正誤を判断できます。
ほかの選択肢はなぜ違うのか
- ア主サイトが各データベースサイトにコミット…:準備ができていない場合だけ応答するのでは、応答が無いことが準備完了なのか障害なのか区別できません。2相コミットでは、各サイトはコミットできるかどうかを必ず主サイトに返します。
- ウ主サイトは,各データベースサイトにコミッ…:準備の確認を飛ばして、いきなりコミットを発行しています。あるサイトでコミットが失敗しても、ほかのサイトは確定済みになり得るので、再発行では全サイトの一致を保てません。
- エ主サイトは,各データベースサイトのロック…:ロックを取ってからコミットしてアンロックする流れで、各サイトがコミットできるかを問い合わせる段がありません。排他制御の手順を述べたもので、2相コミットの手順ではありません。
この問題の用語
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。先の処理が終わるまで、後の処理を待たせて防ぎます。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成23年度 特別 データベーススペシャリスト試験 午前Ⅱ 問12
同じ用語が出る問題
- 令和3年度 秋期 午前Ⅱ 問16:MVCCに関する問題(排他制御)
- 令和3年度 秋期 午前Ⅱ 問14:排他制御に関する問題(排他制御)
- 平成29年度 春期 午前Ⅱ 問18:排他制御に関する問題(排他制御)
- 平成25年度 春期 午前Ⅱ 問14:ロールフォワードに関する問題(排他制御)
- 平成24年度 春期 午前Ⅱ 問13:排他制御の方式(排他制御)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)