分散トランザクション
分散トランザクション処理 (TP) システムは、分散環境においてトランザクションに関与する異種のリソースにまたがるトランザクションを実行できるようにデザインされたシステムです。分散 TP システムを利用することによって、アプリケーションは、メッセージ キューからのメッセージの取得、Microsoft SQL Server データベースへのメッセージの格納、Oracle Server データベースからのメッセージへの既存のすべての参照の削除など、各種のアクティビティを 1 つのトランザクション単位としてまとめることができます。これらのアクティビティは複数のデータ リソースにかかわるため、分散トランザクションが ACID 属性を適用して、すべてのリソースにおけるデータの一貫性を維持することが重要です。
分散 TP システムは、協調して機能する複数のエンティティで構成されます。これらのエンティティについては、以下の各セクションで説明します。各エンティティは論理エンティティであり、同じコンピュータに存在することも、複数の異なるコンピュータに存在することもできます。
トランザクション処理 (TP) モニタ
トランザクション処理 (TP) モニタは、トランザクションに関与するアプリケーションとリソースのコレクションの間に位置するソフトウェアです。TP モニタは、オペレーティング システムの利用状況を最大化し、ネットワーク通信を合理化し、複数のデータ リソースにアクセスする可能性がある複数のアプリケーションに複数のクライアントを接続します。
複数ユーザーの分散環境を管理するアプリケーションを記述する代わりに、1 つのトランザクション要求で構成されるアプリケーションを記述します。モニタは、必要に応じてアプリケーションをスケール処理します。
分散トランザクション コーディネータ (DTC: Distributed Transaction Coordinator) は、Microsoft Windows 2000 用の TP モニタです。
トランザクション マネージャ
分散トランザクションでは、参加する各リソースに、そのコンピュータのインカミング トランザクションとアウトゴーイング トランザクションを追跡するためのローカルなトランザクション マネージャ (TM) があります。TP モニタは、1 つの TM に、ローカル TM 間のすべてのアクティビティを調整する追加タスクを割り当てます。トランザクションのアクティビティを調整する TM のことをルート TM または調整 TM と呼びます。
TM は、すべてのトランザクション処理機能を調整および管理しますが、データを直接管理する機能は備えていません。データに関連するアクティビティは、リソース マネージャが処理します。
リソース マネージャ
リソース マネージャは、データベース内の持続的なデータや永続的なデータ、永続的なメッセージ キュー、またはトランザクション ファイル システムを管理するシステム サービスです。リソース マネージャは、データを格納し、災害時の復元操作を実行します。
SQL Server とメッセージ キューには、分散トランザクションに参加するリソース マネージャが用意されています。Oracle、Sybase、Informix、IBM (IBM DB2)、および Ingres からも、各社のデータベース製品用の互換性のあるリソース マネージャが提供されています。
リソース ディスペンサ
リソース ディスペンサは、共有できる非永続的な状態を管理します。たとえば、ODBC (Open Database Connectivity) リソース ディスペンサはデータベース接続のプールを管理し、各接続が不要になったときにクリアします。