反復不能読み取り(ファジーリード)を防ぐ最低隔離性水準

トランザクションの分離レベル(隔離性水準)と発生し得る異状(Anomaly)の対応関係に関する問題です。 問題文の異状(同一トランザクション内で同じデータを再読込した際に、別トランザクションのコミット済み更新によって値が変わってしまう現象)は「反復不能読み取り(Non-repeatable Read / Fuzzy Read)」です。この異状を防ぐことができる最低の隔離性水準は `REPEATABLE READ`(ウ)です。 `READ COMMITTED` では、コミット済みの更新データの読み込みが許容されるため、反復不能読み取りが発生してしまいます。 `READ UNCOMMITTED` はコミットされていない変更データの読み込み(ダーティリード)すら許容する最低水準であり、反復不能読み取りを防ぐことはできません。 `SERIALIZABLE` は反復不能読み取りやファントムリードをすべて防ぐことができますが、REPEATABLE READ よりも高い水準であるため「最も水準の低いもの」の条件を満たしません。

トランザクションT1,T2を同時実行した際に,次の異状を防ぐことができるトランザクションの隔離性水準のうち,最も水準の低いものはどれか。

〔異状〕 T1が同じデータを複数回読み込んでいる途中で,T2がそのデータを更新してコミットしたことによって,T1が更新していないのにもかかわらずT1が読み込むデータが変わってしまう。

出典令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問15
ア
READ COMMITTED
イ
READ UNCOMMITTED
ウ
REPEATABLE READ
エ
SERIALIZABLE