平成24年度 春期 午前 問30
データベース
トランザクションに関する問題
トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のいずれかを保証する特性はどれか。
- ア一貫性(consistency)
- イ原子性(atomicity)
- ウ耐久性(durability)
- エ独立性(isolation)
答えと解説を見る
✓ これが正解イ原子性(atomicity)
解説
全部やるか全く無しかを保証するのが原子性です。
トランザクションに求められる性質は四つあり、それぞれ英語の頭文字で並べられます。見分けの軸は、その性質が語っているのが一本の処理の中の話か、同時に走る他の処理との関わりか、それとも終わった後の話か、という一点です。設問は、更新を完全に行うか、全く処理しなかったかのように取り消すか、という二つに一つを保証すると述べていますので、一本の中で途中の状態を残さないことを求めています。これが原子性です。原子という語はそれ以上分けられないという意味ですから、途中で切れた形を許さないという性質にそのまま重なります。ある口座から一万円を引く処理と、別の口座に一万円を足す処理は一組です。引くほうだけ済んだところで電源が落ちたなら、済んだほうを取り消して、何も起きなかった形に戻します。四つの性質は、一本の中の話か、他との関わりか、終わった後かで仕分けると取り違えません。
ほかの選択肢はなぜ違うのか
- ア一貫性(consistency):一貫性は、実行の前と後で、あらかじめ決めておいた整合の条件が破られていないことを指します。片方だけ済んだ状態は合計が合わなくなるので最も紛れますが、守っているのは決めた条件のほうです。
- ウ耐久性(durability):耐久性は、コミットが済んだ後に障害が起きても、その結果が失われないことを指します。設問が尋ねているのはコミットするかどうかを決める段階ですので、見ている時点が後ろへずれています。
- エ独立性(isolation):独立性は、同時に走っている別の処理から影響を受けないことを指します。相手にしているのが他の処理である点で、設問が尋ねている一本ぶんの保証とは別のものになります。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成24年度 春期 応用情報技術者試験 午前 問30
同じ用語が出る問題
- 令和7年度 秋期 午前 問29:多版同時実行制御に関する問題(トランザクション)
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(トランザクション)
- 令和6年度 秋期 午前 問27:ロールバックに関する問題(トランザクション)
- 令和6年度 秋期 午前 問12(トランザクション)
- 令和6年度 春期 午前 問55:SaaSに関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)