スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.2324
データベースのトランザクション処理に関する記述として不適切なものはどれか。

【正解の解説】

トランザクションのACID特性のうち、一貫性(Consistency)とは、トランザクション実行中のいかなる瞬間においても、他のトランザクションからの更新データが一切見えないことを保証する性質である。

銀行の口座振替を想像してください。AさんからBさんへお金を送る時、途中の状態でデータが止まってしまい「合計金額が合わない」という矛盾が生じてはいけません。一貫性とは、処理の前後でデータのルールや整合性が正しく保たれていることを保証する性質であり、実行中のデータの見え方を規定するものではありません。これは「独立性」の領域です。

スポンサーリンク

【その他の選択肢の解説】

トランザクションのACID特性のうち、原子性(Atomicity)とは、トランザクション内の処理がすべて正常終了するか、または一切実行されなかった状態に戻るかのどちらかであることを保証する性質である。

原子性(Atomicity)は化学の原子のように「これ以上分割できない最小単位」を意味します。例えばネット通販で決済と在庫引き当てを行う際、途中でエラーが起きたら決済だけ完了して商品は届かないという悲劇を防ぎます。すべて成功するか、一切実行されなかったことにする「全か無か」の性質を指しており、初学者が混同しやすいトランザクションの基本中の基本です。

トランザクションのACID特性のうち、独立性(Isolation)とは、並行して実行される複数のトランザクションが、互いに影響を与えず単独で実行されているかのように処理されることを保証する性質である。

独立性(Isolation)は、同時にたくさんの人が同じデータベースを操作しても、お互いの処理が混ざり合って変な結果にならないようにする性質です。例えば、2人同時に同じ座席を予約しようとした時、一方が割り込んでデータを狂わせないよう、まるで1人ずつ順番に処理しているかのように独立させる便利な防壁の役割を果たしています。

トランザクションのACID特性のうち、耐久性(Durability)とは、完了したトランザクションの結果が、システム障害などが発生した場合であっても失われず確実に保持されることを保証する性質である。

耐久性(Durability)とは、銀行のATMで預金を引き出した直後に大規模な停電や地震が発生したとしても、「お金を引き出した」という大切な記録が絶対に消えないように保護する性質です。一度「完了」と判定されたトランザクションは、システムがクラッシュしても堅牢なログに保存され、復旧時に必ず復活するように設計されています。