SkillStack
テクノロジ系11 / 25問

データベーススペシャリスト試験 令和2年度 秋期 午前II 問11

トランザクションの直列化可能性(serializability)の説明はどれか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】エ

直列化可能性とは、複数のトランザクションを並行して実行したとき、その実行結果が、それらを何らかの順序で一つずつ実行した場合と同じになる性質です。実際の処理は入り交じっていても、最終的なデータの値や各トランザクションが読み取る値が逐次実行と等価であれば、データの整合性を保てます。したがって、並行実行と逐次実行の結果が同じになるとするエが正解です。

アの2相コミットが可能であるという説明は誤りです。2相コミットは、分散した複数のシステムにまたがるトランザクションを、全てコミットするか全て取り消すかに統一するための原子性確保の手法です。

イの隔離性水準が低いという説明は誤りです。隔離性水準が低いと、ダーティリードや反復不能読取りなどの干渉が生じやすくなり、直列実行と等価であることを保証できません。

ウの一つずつ順に実行するという説明は誤りです。これは並行実行を行わない「直列スケジュール」そのものです。直列化可能性は、並行スケジュールであっても直列スケジュールと等価になる性質を指します。

【ポイント】 直列化可能性では、実際の実行順ではなく、実行結果が直列実行と等価かどうかを確認します。 「直列実行」と「直列化可能な並行実行」を区別して覚えてください。 ロックなどの同時実行制御は、直列化可能性を実現する代表的な手段です。

出典:令和2年度 秋期 データベーススペシャリスト試験 午前II 問11
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める