問題 No.1843
データベースのトランザクション管理において、複数のトランザクションを同時に実行した際に、あたかも直列に実行されたかのような結果を保証する特性を表す用語はどれか。
【正解の解説】
アイソレーション
まるで人気のラーメン店でカウンターに並んだ客同士が、お互いの注文に干渉せずマイペースに食事を楽しむような状態です。データベースの世界でも、複数の人が同時にデータを書き換えた際、それぞれの処理が独立して行われることで、データの混線や矛盾を防ぐ重要な役割を果たしています。
スポンサーリンク
【その他の選択肢の解説】
アトミシティ
アイソレーションが「同時実行時の干渉防止」であるのに対し、アトミシティは「全か無しかの二者択一」を意味します。例えば、銀行の口座振替で「引き落としだけ成功して預金されない」という中途半端な状態を防ぐ仕組みであり、今回の問題が求める直列化の保証とは着眼点が異なります。
コンシステンシー
アイソレーションが処理の「独立性」に注目しているのに対し、コンシステンシーはデータベース内のルールや制約が正しく保たれているかに注目します。例えば、残高がマイナスになってはいけないといったビジネスルールが、取引の前後で破られていないことを保証する性質です。
デュラビリティ
アイソレーションが「処理中の干渉を防ぐこと」であるのに対し、デュラビリティは「処理が終わったデータを確実に保存すること」を意味します。ATMでお金を下ろした後に突然停電が起きても、通帳の記録と口座残高が消えずにしっかり残るような、記憶の定着を保証する仕組みです。