データベース|平成27年度 春期 ITパスポート試験(特別措置試験) 問77
DBMSにおいて,データへの同時アクセスによる矛盾の発生を防止し,データの一貫性を保つための機能はどれか。
- 正規化
- デッドロック
- ✓ これが正解排他制御
- リストア
解説
同じ話題の語でも、仕組みの名か困りごとの名かで分かれます。
二人が同じ残高を同時に読んで、それぞれ足して書き戻すと、先に書いたほうの分が消えてしまいます。これを防ぐため、誰かが触っている間は錠をかけて、他を待たせます。それが排他制御です。まぎらわしいのはデッドロックで、これは仕組みの名ではなく困った状態の名です。互いに相手の解放を待ち合って、どちらも進めなくなる事故を指します。つまり排他制御をした結果として起こりうるもので、防ぐ側の機能ではありません。錠のかけ方には、読むだけを許す形と、誰にも触らせない形があります。読むだけなら同時に何人でも許せますが、書くときは一人に絞ります。待たされる時間が長くなるほど、全体の処理は遅くなります。だから範囲はできるだけ狭く、かける時間はできるだけ短くします。行ごとにかけるか表ごとにかけるかで、待つ相手の数が変わります。
ほかの選択肢はなぜ違うのか
- 重複をなくして矛盾が入りにくい表の形にする、設計の作業です。同時に触られたときにどうするか、の話ではありません。表をどう分けておけば書き換えで食い違わないかを聞かれたら、これです。同じことを二か所に書かない形へ整えていく作業です。
- 互いに待ち合って進めなくなった状態の名です。錠をかけた結果として起こる事故で、防ぐ側の機能ではありません。錠をかけたのに全員が止まってしまった、と聞かれたら、これが答えです。かける順番をそろえておくと、起きにくくなります。
- 控えから元に戻す作業です。壊れてしまった後の手当てで、同時に触られる場面の備えではありません。装置が壊れて中身が失われた、と聞かれたら、これが答えになります。控えを取っていた時点まで戻し、そこから記録を当て直します。
この問題に関係する言葉
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。先の処理が終わるまで、後の処理を待たせて防ぎます。
- デッドロック
出典:平成27年度 春期 ITパスポート試験(特別措置試験) 問77
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)