隔離性とは?かくりせい
隔離性とは、ACID特性の1つで、複数のトランザクションを同時に実行しても互いの途中結果の影響を受けず、単独で実行したのと同じ結果が得られる性質。実装では隔離性水準を選んでこの厳密さを段階的に緩められ、どこまで緩めるかが同時実行性能と整合性のトレードオフとして方式設計の判断になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
同時実行を許さなければ整合性は完全に守れるが、それでは処理性能が出ない。かといって無制限に並行させれば、他のトランザクションの未確定な値を読んだり、同じ問合せの結果が途中で変わったりする。この対立を段階で調停するために、ダーティリード・反復不能読取り・ファントムリードのどれを許すかで隔離性水準が定義された。性能要件と整合性要件のどちらを優先するかを説明できることが求められる。
具体例
PostgreSQLとOracle Databaseは既定でREAD COMMITTED相当、MySQLのInnoDBは既定でREPEATABLE READを採る。参照系の集計が長時間走る分析用途では、更新側を止めないためにスナップショット読取りを使い、残高更新のような処理では行ロックで直列化するといった使い分けを行う。
試験での引っ掛け
隔離性水準を下げても弱まるのは隔離性だけで、原子性・耐久性は保たれる(READ COMMITTEDでもコミット済みの結果は失われない)。またSERIALIZABLEにしてもデッドロックは起きる。直列化可能性は「待たない」ことではなく「直列実行と同じ結果になる」ことである。
関連用語
出た過去問
出典:平成28年度 秋期 システムアーキテクト試験 午前Ⅱ 問7(IPA)
プログラムの構造化設計におけるモジュール分割技法の説明のうち、適切なものはどれか。
正解:STS分割は、データの流れに着目してプログラムを分割する技法であり、入力データの処理、入力から出力への変換処理及び出力データの処理の三つの部分で構成することによって、モジュールの独立性が高まる。
要点:STS分割は入力・変換・出力の流れで分ける技法
STS分割は、プログラムを入力(Source)、変換(Transform)、出力(Sink)という三つの部分に分けるデータの流れに着目した技法で、各部分の役割が明確になるためモジュールの独立性が高まる。TR分割も同じくデータの流れに着目してトランザクションの種類ごとに分ける技法であり、データ構造に着目するのはジャクソン法である。
出典:令和7年度 春期 システムアーキテクト試験 午前Ⅱ 問24(IPA)
トランザクションの隔離性水準を高めたとき,不整合なデータを読み込むトランザクション数と,単位時間に処理できるトランザクション数との適切な組合せはどれか。
正解:減る/減る
要点:隔離性を高めると整合性は上がるがスループットは下がる
隔離性水準を高めるほどロックの範囲や保持期間が広がり、他のトランザクションによる未確定データの読込みが抑えられるため、不整合なデータを読むトランザクションは減る。一方で待ち合わせが増えて並行度が下がるので、単位時間に処理できるトランザクション数は減る。整合性と性能はトレードオフの関係にある。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。