14.5.3 トランザクションを実行するノード
トランザクションを実行するノードは,トランザクションアクセスモードおよびトランザクション隔離性水準の指定によって決まります。トランザクションアクセスモードおよびトランザクション隔離性水準と,トランザクションを実行するノードの関係を次の表に示します。
|
項番 |
トランザクションアクセスモードの指定 |
トランザクション隔離性水準の指定 |
トランザクションを実行するノード |
|---|---|---|---|
|
1 |
読み書き可能モード |
READ COMMITTED |
マスタノード |
|
2 |
REPEATABLE READ |
||
|
3 |
読み取り専用モード |
READ COMMITTED |
マスタノードまたはスレーブノード |
|
4 |
REPEATABLE READ |
マスタノード |
トランザクションを実行するノードを次の図に示します。
|
|
検索系SQLだけを実行するAPの場合,次の設定をすることで,スレーブノードのリソースを有効に活用できます。
-
トランザクションアクセスモードを読み取り専用モードにする
-
トランザクション隔離性水準をREAD COMMITTEDにする
トランザクションアクセスモードおよびトランザクション隔離性水準の指定方法を次の表に示します。
|
項番 |
APの種別 |
トランザクションアクセスモードの指定方法 |
トランザクション隔離性水準の指定方法 |
|---|---|---|---|
|
1 |
JDBCドライバを使用したAP |
|
|
|
2 |
ODBCドライバを使用したAP |
|
|
|
3 |
CLI関数を使用したAP |
|
|
指定方法の詳細については,マニュアル「HADB AP開発ガイド」を参照してください。
また,トランザクションを実行するノードは,次に示す要素などを考慮して,マスタノードのHADBサーバが自動的に決定します。
-
トランザクションアクセスモード
-
トランザクション隔離性水準
-
スレッド数の空き状況
そのため,トランザクションごとに,実行するノードが変わることがあります。ただし,ホールダブルカーソルでカーソルをオープン中の場合は,実行するノードは変わりません。
- 注意事項
-
読み書き可能モードのトランザクション,または一部のコマンドが実行中のときは,読み取り専用モードのトランザクションもマスタノードで実行されます(スレーブノードを使用しません)。そのため,スレーブノードのリソースを有効に活用するために,読み書き可能モードのトランザクションはできる限り細かい頻度で決着させるようにしてください。
なお,ここでいう一部のコマンドについては,「2.16.2(4) トランザクションとコマンドの同時実行についての制限」を参照してください。