分散トランザクション処理機能 OpenTP1 解説

[目次][用語][索引][前へ][次へ]

3.1.1 分散トランザクション

トランザクションとは,関連する複数の処理を一つのまとまった処理として扱うための論理的な単位です。一つのトランザクション内で実行した処理は,すべてが有効になるか,すべてが無効になるかのどちらかです。

これまでのオンラインシステムは,トランザクションを単体の大型コンピュータで実行していました。このため,一つのコンピュータ内でしかトランザクションの整合性を保証していませんでした。

分散コンピューティング環境で動作するOpenTP1では,トランザクションはほかのコンピュータに分散して実行されます。このようなトランザクション処理を分散トランザクションといいます。OpenTP1は,分散して処理する一連のトランザクション全体の整合性を保証しています。

トランザクションは,リソースマネジャの排他制御によって,複数のトランザクションが同時に,同じ資源を更新することはありません。資源は常にトランザクションごとに更新されます。

トランザクションが正常に終了して,トランザクションを有効にすると決定した場合,その後のUAPの処理に関係なく資源を更新することをリソースマネジャに指示します。このため,資源間の不整合が起きません。これは,障害が発生しても資源間で不整合が生じないように,トランザクションに関する履歴情報を,システムジャーナルとして取得しているためです。トランザクションの処理途中に障害が発生して,トランザクションを有効にしないと決定した場合には,トランザクションを開始する前の状態に資源を戻すことをリソースマネジャに指示します。

このように,業務をトランザクションとして処理することで,資源の整合性を保てます。

分散トランザクションを次の図に示します。

図3-1 分散トランザクション

[図データ]