令和2年度 10月 午前 問30
データベース
ACID特性に関する問題
トランザクションの ACID 特性のうち,耐久性(durability)に関する記述として,適切なものはどれか。
- ア正常に終了したトランザクションの更新結果は,障害が発生してもデータベースから消失しないこと
- イデータベースの内容が矛盾のない状態であること
- ウトランザクションの処理が全て実行されるか,全く実行されないかのいずれかで終了すること
- エ複数のトランザクションを同時に実行した場合と,順番に実行した場合の処理結果が一致すること
答えと解説を見る
✓ これが正解ア正常に終了したトランザクションの更新結果は,障害が発生してもデータベースから消失しないこと
解説
コミット済みの結果が障害でも失われない性質です。
この設問は、トランザクションが備える四つの性質のうち、耐久性と呼ばれるものを言い当てる問題です。ですから、選び方の軸は、その記述が扱っている相手が、確定した後の結果なのか、途中の中身なのか、他の並行実行との関わりなのかという一点で見分けます。耐久性が守るのは、正常に確定した後の結果です。停電や機械の故障のように後から不都合が起きても、確定済みの結果が消えないことを、この性質は約束しています。実装としては、書き換えを先にログへ焼き付けてからデータに反映する道具立てが典型で、いったん確定してしまえば、その情報を頼りに立て直せます。他の性質は、途中で止めない一体感、決まりごとを壊さない整合、同時に走らせても混ぜない独立、というそれぞれの担当を持ち、耐久性とは受け持つ場所が違います。
ほかの選択肢はなぜ違うのか
- イデータベースの内容が矛盾のない状態である…:データベースの内容が矛盾のない状態であることと述べています。これは型や制約や業務の決まりごとを壊さない一貫性の担当で、確定後の結果を災害から守る話とは受け持つ場所が違います。
- ウトランザクションの処理が全て実行されるか…:全て実行されるか全く実行されないかのいずれかで終了すると述べています。これは途中で止めさせずに一体として扱う原子性の担当で、確定後の結果を守る話とは切り口が違います。
- エ複数のトランザクションを同時に実行した場…:同時に実行した場合と順番に実行した場合の処理結果が一致すると述べています。これは同時実行しても他と混ざらないことを保証する独立性の担当で、確定後の永続性とは別の性質です。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:令和2年度 10月 応用情報技術者試験 午前 問30
同じ用語が出る問題
- 令和7年度 秋期 午前 問29:多版同時実行制御に関する問題(トランザクション)
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(トランザクション)
- 令和6年度 秋期 午前 問27:ロールバックに関する問題(トランザクション)
- 令和6年度 秋期 午前 問12(トランザクション)
- 令和6年度 春期 午前 問55:SaaSに関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)