分散データベースシステムにおいて,一連のトランザクション処理を行う複数サイトに更新処理が確定可能かどうかを問い合わせ,全てのサイトが確定可能である場合,更新処理を確定する方式はどれか。
正答1
解説
正解は1です。
分散データベースで、複数サイトの更新を一斉に確定させる方式を問う問題です。
複数のサイトにまたがるトランザクションでは、一部のサイトだけが更新を確定するとデータの整合性が崩れます。
【選択肢別解説】
1:○ 2相コミットは、第1相で調停役が全サイトに更新を確定できるかを問い合わせます。
全サイトが確定可能と答えた場合だけ、第2相で一斉にコミットを指示します。
1つでも確定できないサイトがあれば、全サイトでロールバックします。
2:× 排他制御は、複数のトランザクションが同じデータを同時に更新して矛盾が生じないよう、ロックなどで順番に処理させる仕組みです。
3:× ロールバックは、トランザクションを取り消し、更新前ログを使って更新前の状態に戻す処理です。
4:× ロールフォワードは、障害時にバックアップを復元したあと、更新後ログを使ってコミット済みの更新をやり直し、障害直前の状態まで回復する処理です。
【ポイント】
2相コミットは「準備(確認)」と「確定」の2段階に分けることで、全サイトがそろって確定するか、そろって取り消すかのどちらかにします。