並行透過性とは
並行透過性(へいこうとうかせい)とは、
データベースなどのトランザクション処理において、
複数の処理を同時(並行)に実行しても、結果が直列実行と同じになる性質
を指します。
利用者やアプリケーションから見て、
あたかも一つずつ順番に処理されているかのように見える点が特徴で、
データの整合性を保つための重要な概念です。
目次
並行透過性が必要な理由
実際の業務システムでは、多数のユーザが同時にデータを更新します。
すべてを直列処理すると性能が大きく低下してしまいます。
そこで、処理効率を高めるために並行実行を行いつつも、
処理結果は正しく保たれるようにする必要があります。
この要件を満たす性質が並行透過性です。
直列実行との関係
並行透過性は、「並行実行した結果が、ある直列実行の結果と等価である」
と定義されます。
この性質を満たすスケジュールは
直列化可能(シリアライザブル)であると表現されます。
並行透過性を実現する仕組み
並行透過性を確保するために、データベース管理システム(DBMS)では
さまざまな制御方式が用いられています。
- ロック制御(共有ロック・排他ロック)
- 2相ロック方式
- タイムスタンプ順序制御
- MVCC(多版型同時実行制御)
これらにより、更新の衝突や不整合の発生を防止します。
ACID特性との関係
並行透過性は、トランザクションのACID特性のうち
分離性(Isolation)と深く関係しています。
分離性が高いほど、他のトランザクションの影響を受けにくくなります。
試験対策・学習ポイント
情報処理技術者試験では、
「並行透過性=並行実行でも直列実行と同じ結果になる性質」
という定義がそのまま問われることが多いです。
ロック制御や直列化可能性と関連付けて覚えると理解しやすくなります。
まとめ
並行透過性は、性能とデータ整合性を両立させるために不可欠な概念です。
並行処理が当たり前となった現代のシステムにおいて、
その重要性はますます高まっています。
コメント