Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere でのプログラミングの概要 » 3 層コンピューティングと分散トランザクション » 3 層コンピューティングのアーキテクチャ

 

分散トランザクションに関する用語

この章は、分散トランザクションについてある程度の知識を持っている方を対象としています。詳細については、使用しているトランザクション・サーバのマニュアルを参照してください。この項では、よく使用される用語をいくつか説明します。

  • 「リソース・マネージャ」は、トランザクションに関連するデータを管理するサービスです。

    分散トランザクションの中で OLE DB または ODBC を通してアクセスする場合、SQL Anywhere データベース・サーバはリソース・マネージャとして動作します。ODBC ドライバと OLE DB プロバイダは、クライアント・コンピュータ上のリソース・マネージャ・プロキシとして動作します。

  • アプリケーション・コンポーネントは、リソース・マネージャと直接通信しないで「リソース・ディスペンサ」と通信できます。リソース・ディスペンサは、リソース・マネージャへの接続または接続プールを管理します。

    SQL Anywhere がサポートする 2 つのリソース・ディスペンサは、ODBC ドライバ・マネージャと OLE DB です。

  • トランザクション・コンポーネントが (リソース・マネージャを使用して) データベースとの接続を要求すると、アプリケーション・サーバはトランザクションに関わるデータベース接続を「エンリスト」します。DTC とリソース・ディスペンサがエンリスト処理を実行します。

2 フェーズコミット

2 フェーズ・コミットを使用して、分散トランザクションを管理します。トランザクション処理が完了すると、トランザクション・マネージャ (DTC) は、トランザクションにエンリストされたすべてのリソース・マネージャにトランザクションをコミットする準備ができているかどうかを問い合わせます。このフェーズは、コミットの「準備」と呼ばれます。

すべてのリソース・マネージャからコミット準備完了の応答があると、DTC は各リソース・マネージャにコミット要求を送信し、トランザクションの完了をクライアントに通知します。1 つ以上のリソース・マネージャが応答しない場合、またはトランザクションをコミットできないと応答した場合、トランザクションのすべての処理は、すべてのリソース・マネージャにわたってロールバックされます。