令和4年度 秋期 午前Ⅱ 問15
トランザクション処理
原子性に関する問題
トランザクションの ACID 特性のうち,原子性(atomicity)の記述として,適切なものはどれか。
- アデータベースの内容が矛盾のない状態であること
- イトランザクションが正常終了すると,障害が発生しても更新結果はデータベースから消失しないこと
- ウトランザクションの処理が全て実行されるか,全く実行されないかのいずれかで終了すること
- エ複数のトランザクションを同時に実行した場合と,順番に実行した場合の処理結果が一致すること
答えと解説を見る
✓ これが正解ウトランザクションの処理が全て実行されるか,全く実行されないかのいずれかで終了すること
解説
原子性は、処理が全て実行されるか全く実行されないかで終わる性質です。
原子性は、トランザクションの中の処理が全て実行されるか、一つも実行されないかのどちらかで終わるという性質です。たとえば口座振替で、引き落としが済んだのに入金の前に障害が起きた場合、途中まで済んだ処理は取り消され、元の状態に戻ります。途中の状態のままデータベースが残ることはありません。ACID 特性の四つは、原子性、一貫性、独立性、耐久性で、それぞれ別の観点から正しさを表します。全部か無かが原子性、矛盾が無いことが一貫性、同時に実行しても干渉しないことが独立性、確定した結果が失われないことが耐久性、と一語ずつ対応させて覚えると見分けられます。
ほかの選択肢はなぜ違うのか
- アデータベースの内容が矛盾のない状態である…:データベースの内容が矛盾の無い状態であることは、一貫性の説明です。トランザクションの前後で、データが決められた制約や条件を満たしていることを指し、処理を全部行うか全く行わないかという性質とは別です。
- イトランザクションが正常終了すると,障害が…:正常に終了したトランザクションの更新結果が、障害が起きても失われないことは、耐久性の説明です。確定した後の結果を保つ性質であり、途中で終わった処理の扱いを述べるものではありません。
- エ複数のトランザクションを同時に実行した場…:同時に実行しても、順番に実行した場合と結果が一致することは、独立性の説明です。複数のトランザクションが互いに干渉しないことを指し、一つのトランザクションの処理が全部か無かで終わることとは異なります。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:令和4年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問15
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問16(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問15:隔離性水準に関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問14:べき等に関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)