データベーススペシャリスト 平成30年春期 午前U 問14

午前U 問14

厳格な2相ロッキングプロトコルと表ロックを適用して,同時実行している他のトランザクションの処理結果に影響を与えないようにする。実現されるトランザクションの隔離性水準はどれか。
  • READ UNCOMMITIED
  • READ COMMITTED
  • REPEATABLE READ
  • SERIALIZABLE

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

隔離性水準とは、トランザクションに指定できる直列化制約の度合いで、隔離性の低い順に「READ UNCOMMITTED」「READ COMMITTED」「REPEATABLE READ」そして「SERIALIZABLE」の4種類があります。
これらはSQLの"SET TRANSACTION"文に記述され、トランザクションを同時実行したことで発生する異常のうち、どのレベルまでを許容するかを指定するものです。4つの中では以下に示すようにSERIALIZABLEが最も安全ですが、堅牢性と引き換えに処理効率が悪くなります。一般的なDBMSでは「READ COMMITTED」がデフォルトになっています。

トランザクションの同時実行が原因で生じる3つの異常と、隔離性水準ごとの許容レベルをまとめると次のようになります。
14.gif/image-size:516×184
同時実行している他のトランザクションの処理結果に影響を与えないようにするには SERIALIZABLE を指定するする必要があります。よって「エ」が正解です。
© 2016-2018 データベーススペシャリストドットコム All Rights Reserved.

Pagetop