分散トランザクション処理 【distributed transaction processing】
概要
分散トランザクション処理(distributed transaction processing)とは、複数の処理を一体不可分の処理として管理するトランザクション処理を、複数のコンピュータにまたがるシステムで行うこと。トランザクション処理は銀行の入出金処理のように途中で中断しては困る複数の連続する処理の進捗を監視し、「すべて成功」か「すべて失敗」のどちらかになるように制御する。
分散トランザクション処理はネットワークで接続された複数のコンピュータがそれぞれ行う処理を一つにまとめてトランザクションとして管理する方式である。トランザクションを管理する単一のソフトウェアからの指示を、個々の処理を実施するソフトウェアが受け入れることによって成り立つ。通常のトランザクション処理と同様にACID特性が満たさせるよう、2フェーズコミット(2相コミット)などの手法が用いられる。
X/Open XA (X/Open DTPモデル)
業界団体のThe Open Group(オープングループ、旧X/Open)が策定した、分散トランザクションを構成する個々のソフトウェアの役割や通信・連携方法の標準を定めた規格を「X/Open XA」(Extended Architecture)あるいは「X/Open DTPモデル」(Distributed Transaction Processing model)という。
トランザクション処理を依頼する主体となるアプリケーションソフトのほかに、トランザクションの状態を管理して複数の処理の一貫性を保つ「トランザクションマネージャ」、データなどの資源を管理するデータベース管理システム(DBMS)などの「リソースマネージャ」の三者を規定している。
これらの主体が果たす役割や、指示を発行するための通信手順(インターフェース)などを定めており、インタフェース標準に準拠していれば異なるメーカーのトランザクションマネージャやDBMSなどの製品を組み合わせて連携させることができる。
TXインターフェース (TX interface)
X/Open XA(X/Open DTPモデル)による分散トランザクション管理において、アプリケーションソフトとトランザクションマネージャ間の通信方法を定めた仕様。アプリケーションがトランザクションマネージャにトランザクションとして管理したい処理を登録し、開始や終了などの通知を行う。
XAインターフェース (XA interface)
X/Open XA(X/Open DTPモデル)による分散トランザクション管理において、リソースマネージャ(DBMSなど)とトランザクションマネージャ間の通信方法を定めた仕様。トランザクションとして登録された処理に関わるデータベース上の操作などを指示したり、状態変更を通知したりするのに用いられる。