応用情報暗記無料で始める

隔離性とは?かくりせい

隔離性とは、ACID特性の一つで、複数のトランザクションを同時に実行しても互いの途中結果の影響を受けず、1つずつ順に実行したのと同じ結果が得られる性質。実現はロックやMVCCといった同時実行制御が担い、隔離性水準をREAD UNCOMMITTEDからSERIALIZABLEの間で選ぶことで、ダーティリード・ノンリピータブルリード・ファントムリードのどこまでを許すかと、同時実行の性能とを取引する。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では4回出題され、ほかに1問の解説で触れられています(2021年度〜2025年度)。

応用情報技術者試験の頻出用語/テクノロジ系

別名:独立性、分離性、Isolation

この語が出る過去問を解く →

背景

同時実行を一切許さなければ隔離性は自明に成り立つが、そのときシステムは1件ずつしか処理できず実用的な性能が出ない。逆に無制限に同時実行すると、他のトランザクションが書きかけた値を読んで、単独実行では起こり得ない結果が残る。隔離性はこの相反する二つの要求を調停するための概念であり、応用情報では「どの読取り異常を業務上どこまで許容するか」を要件から選ばせる形で問われる。

具体例

PostgreSQLの既定はREAD COMMITTEDで、同じトランザクションの中でも問合せのたびに他者のコミット済みの更新が見えるため、同じ集計を2回行うと値が変わりうる。在庫引当のように整合が必要な処理では、REPEATABLE READ以上にするか、SELECT ... FOR UPDATE で対象行を明示的にロックして処理する。

試験での引っ掛け

ACIDの4つのうち、設定で意図的に緩められるのは隔離性だけである。水準をREAD COMMITTEDへ落としても、コミット済みの更新が後から消えたり、更新の一部だけが残ったりはしない——原子性と耐久性は水準の指定に左右されない。もう一つの定番は直列化可能性の読み違いで、SERIALIZABLEは「待ちが発生しない」設定ではない。保証されるのは結果が直列実行と一致することだけで、この水準でもロック待ちやデッドロックは起こる。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では4回出題(2021年度〜2025年度)
  • 分野:テクノロジ系
  • ACIDの4つのうち、設定で意図的に緩められるのは隔離性だけである。