テクノロジ系12 / 25問
データベーススペシャリスト試験 令和6年度 秋期 午前II 問12
二つのトランザクションが、同じデータに対して、更新、参照を行うときに発生し得るダーティリードの事象を記述したものはどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
ダーティリードとは、あるトランザクションが、別のトランザクションによるコミット前の更新結果を読み取ってしまう現象です。コミット前の更新は、後でロールバックされて取り消される可能性があります。エでは、BがAの未コミットデータを参照した後、Aがロールバックしています。このため、Bは最終的には存在しない値を使用したことになり、ダーティリードに該当します。
アの事象は誤りです。これはファントムリードの説明です。同じ検索条件で再検索したとき、他のトランザクションが挿入してコミットした行が新たに現れる現象です。
イの事象は誤りです。これは反復不能読取り、又はノンリピータブルリードの説明です。同じ行を再度読み取ったとき、他のトランザクションによる更新とコミットによって値が変わっている現象です。
ウの事象は誤りです。これはデッドロックの説明です。複数のトランザクションが互いの保持するロックの解放を待ち、どちらも処理を進められなくなる状態です。
【ポイント】 ダーティリードを見分ける鍵は、「未コミットの値を読んだ」という点です。 READ COMMITTED以上の隔離性水準では、原則としてダーティリードは防止されます。 値の変化は反復不能読取り、行の増減はファントムリードと整理すると判断しやすくなります。
出典:令和6年度 秋期 データベーススペシャリスト試験 午前II 問12
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる