Cosminexus 機能解説

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

9.3.2 ローカルトランザクションとグローバルトランザクション

Application Serverが管理するトランザクションを使用する場合,Application Serverのトランザクションマネジャと,リソースを管理するリソースマネジャ(DBMSなど)が連携して,トランザクションを管理します。この場合,トランザクションの種類として,ローカルトランザクションとグローバルトランザクションのどちらかを選択します。

ローカルトランザクションと,グローバルトランザクションについて説明します。

<この項の構成>
(1) ローカルトランザクション
(2) グローバルトランザクション
(3) ライトトランザクション機能とトランザクションの管理方法の関係

(1) ローカルトランザクション

トランザクション管理を行うリソースが一つだけの場合に,ローカルトランザクションを使用します。ローカルトランザクションを使用する場合,トランザクションの決着はリソースマネジャが行います。

(2) グローバルトランザクション

トランザクション管理を行うリソースが複数ある場合に,グローバルトランザクションを使用します。グローバルトランザクションを使用する場合,トランザクションマネジャが複数のリソースのトランザクションを調整し,整合性が崩れないように決着します。トランザクションの決着には,2フェーズコミットプロトコルが使用されます。なお,グローバルトランザクション使用時には,インプロセストランザクションサービスを使用します。インプロセストランザクションサービスについては,「9.10.5 インプロセストランザクションサービス」を参照してください。

グローバルトランザクションには比較的高い処理コストが掛かりますので,トランザクション管理を行うリソースが一つだけの場合には,ローカルトランザクションを使用することをお勧めします。

なお,デフォルトではライトトランザクション機能が有効になっているため,グローバルトランザクションを使用することはできません。グローバルトランザクションを使用するには,ライトトランザクション機能を無効にする必要があります。

注※
ライトトランザクションの詳細については,「9.10.4 ライトトランザクション」を参照してください。

(3) ライトトランザクション機能とトランザクションの管理方法の関係

ライトトランザクション機能とは,ローカルトランザクションに,最適化された環境を提供する機能です。

トランザクションの管理方法とライトトランザクションの対応を次の表に示します。

表9-6 トランザクションの管理方法とライトトランザクションの対応

トランザクションの管理方法 ライトトランザクション有効 ライトトランザクション無効
Application Serverが管理するトランザクション ローカルトランザクション
グローバルトランザクション ×
Application Serverが管理しないトランザクション

(凡例) ○:使用できる  ×:使用できない


ライトトランザクション機能については,「9.10.4 ライトトランザクション」を参照してください。