データベースを更新する処理は、データの整合性を保持するためにも、切り離すことのできない一貫した処理を行う必要があります。このような処理のことをトランザクション処理と言います。単一のオブジェクトやリソースで発生するトランザクションをローカルトランザクションと言います。
これに対して、複数のオブジェクトや複数のリソースで発生するローカルトランザクションを一元管理し、一つのトランザクションとして連携させることをグローバルトランザクションと言います。つまり、複数のローカルトランザクションを一つのトランザクションとして扱うことができるのがグローバルトランザクションです。
Interstageのデータベース連携サービスは、X/OPENの分散トランザクション処理モデル(DTPモデル)を実現することが可能であり、分散トランザクションにおけるACID特性を保証します。
ACID特性
Atomicity | 原子性 | トランザクションはすべて完了するか、または元の状態かのいずれかであり、データベースなどのデータは更新されているか、されていないかのいずれかの状態であることを保証します。 |
Consistency | 一貫性 | トランザクションが完了するかどうかに関わらず、データベースなどデータに矛盾がないことを保証します。 |
Isolation | 独立性 | 複数のトランザクションが同時並行的に処理されたとしても、それらはお互いに干渉せず、データの内容にも影響を与えないことを保証します。 |
Durability | 耐久性 | 一度、完了したトランザクション処理は、どのような障害があっても、結果を維持することを保証します。 |
DTPモデルを構成するコンポーネント
AP(Application Program) | アプリケーション開発者によって実装されるコンポーネントです。 |
TM(Transaction Manager) | トランザクションを管理するトランザクションサービスです。 |
RM(Resource Manager) | リソースのトランザクションを管理するプログラムです。 |
cRM(Communication RM) | トランザクション制御可能な通信基盤を提供するサービスです。 |
データベース連携サービスは、CORBAのOTS(Object Transaction Service)を含めたトランザクションサービスです。本製品では、以下になります。
OTS
以下から利用されるデータベース連携サービス
CORBAアプリケーション
トランザクションサービスで提供される機能は以下になります。
複数のリソース(データベース、MQDなど)で発生したトランザクションを1つのトランザクションとして連携する機能です。複数のトランザクションの完了を同期させることができます。
CORBAアプリケーションでは、OTSシステムとOTS用リソース管理プログラムを利用して機能を実現します。また、トランザクションの操作にはCurrentインターフェースを利用します。