ヘッダーをスキップ
Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド
リリース7.0
E05169-03
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

ネットワークの構成

この項では、ネットワーク上でTimesTenデータをレプリケートする場合に考慮する必要があるいくつかの問題について説明します。内容は次のとおりです。

ネットワーク帯域幅要件

TimesTenレプリケーションに必要なネットワーク帯域幅は、レプリケートしているデータの量および頻度によって異なります。ここでは、データ範囲の上位と下位、およびTimesTenデータ・ストア間でデータをレプリケートするために必要なネットワーク帯域幅を特徴付けるトランザクションのタイプについて説明します。

データ範囲の上位は、小量のデータの更新または挿入で特徴付けることができます。これらの更新または挿入では、約1.5から1.6MB/秒でデータをレプリケートできます。データ範囲の下位は、RETURN RECEIPTを指定して実行中の単一のchar(10)列更新で特徴付けることができます。この更新では、約125KB/秒でデータをレプリケートできます。

次の表に、レプリケート・レコードのサイズを計算するためのガイドラインを示します。

レコード・タイプ
サイズ
開始トランザクション
48バイト
伝播
48バイト
更新
116バイト
+ 18バイト/更新された列
+古い列のサイズ
+新しい列のサイズ
+主キーまたは一意キーのサイズ
削除
104バイト
+主キーまたは一意キーのサイズ
挿入
104バイト
+主キーまたは一意キーのサイズ
+挿入された行のサイズ
終了トランザクション
48バイト

トランザクションはレプリケート対象のデータ・ストア間をバッチで送信されます。マスター・データ・ストアのトランザクション・ログ・バッファにデータがなくなった場合、または現在のバッチがほぼ256Kバイトである場合にバッチが作成されます。各バッチの最後に、マスターは48バイトのバッチ終了メッセージを送信し、バッチ受信時にサブスクライバから送信される48バイトの確認応答を待機します。詳細は、「レプリケーション・エージェントによって更新をデータ・ストア間でコピーする方法」を参照してください。

次の表に示すとおり、LANで通常使用される100 Base-Tイーサネットでは、10MB/秒の速度を持続できます。これは、ほとんどのレプリケーションで必要とされる速度に十分対応できる持続帯域幅です。ただし、サーバーがWANで通信している場合、レプリケーション・スキームおよびトランザクション・ロードの設定は、ネットワークの使用可能帯域幅に一致させる必要があります。

ネットワーク領域
ネットワーク
持続速度
LAN
100 Base-Tイーサネット
10MB/秒
WAN
T3
4.8MB/秒
WAN
T2
780KB/秒
WAN
T1
197KB/秒

前述の表のとおり、T3回線では、4.8MB/秒の使用可能帯域幅によって、パフォーマンスを損なうことなく、実行可能な最速のトランザクション速度(合計で3.2MB/秒)で稼働する2つのサブスクライバを十分にサポートできる帯域幅が提供されます。

対照的に、T1回線では、行に1KB未満を挿入するユーザーのRETURN RECEIPTレプリケーションに十分対応できる帯域幅が提供されます。

WAN環境でのレプリケーション

TimesTenレプリケーションでは、TCP/IPプロトコルを使用していますが、このプロトコルはWAN環境用には最適化されていません。WANでのレプリケーションのパフォーマンスは、サードパーティのTCPスタック製品を使用して向上できます。TCPスタックの交換を実行できない場合は、CREATE REPLICATION文にCOMPRESS TRAFFIC属性を設定して、TCP/IPプロトコルで処理する必要があるネットワーク通信量を削減します。詳細は、「レプリケートの通信量の圧縮」を参照してください。

パフォーマンスを向上させるためにTCP/IPカーネル・パラメータを変更する方法については、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。

ホストIPアドレスの設定

レプリケーション・スキームでは、データ・ストアが存在するホスト・マシンの名前を指定する必要があります。そのホスト名は、オペレーティング・システムによって1つ以上のIPアドレスに変換されます。この項では、各ホスト・マシンに対して正しいホスト名とIPアドレスが使用されるようにレプリケーションを構成する方法について説明します。

データ・ストア・ホストとネットワーク・インタフェースの指定

レプリケーション要素でデータ・ストアのホストを指定する場合は、hostnameコマンドによって返される名前を常に使用する必要があります(レプリケーションでは、それと同じホスト名を使用して、現在のホストがレプリケーション・スキームに含まれていることを確認します)。現在のホストが含まれないレプリケーション・スキームは作成できません。

ホストに(IPアドレスが異なる)複数のネットワーク・インタフェースがある場合は、レプリケーションで使用するインタフェースをROUTE句で指定する必要があります。また、各インタフェースに対して優先順位を指定する必要もあります。レプリケーションでは、まず優先順位が最も高いアドレスを使用して接続が試行され、その接続を確立できなかった場合は、接続が確立されるまで優先順に残りのアドレスが試されます。あるIPアドレスを使用しているときにホストへの接続が失敗すると、ROUTE句で複数のアドレスが指定されている場合は、別のIPアドレスへの再接続(フォールバック)が試行されます。


注意: ROUTE句のアドレスは、ホスト名またはIPアドレスのいずれかとして指定できますが、ホストのホスト名に対して複数のIPアドレスが構成されている場合は、IPアドレスを使用してROUTE句を構成する必要があります。これは、意図したIPアドレスのみをレプリケーションで確実に使用するためです。

詳細は、「複数のネットワーク・インタフェースを使用したレプリケーション」を参照してください。

Windowsでのホスト名の解決

レプリケーション構成がIPアドレスではなくホスト名で指定されている場合、レプリケーションではピアのホスト名をIPアドレスに変換できる必要があります。Windowsでこれを効率的に行うには、有効なWINSサーバーまたは有効なDNSサーバーのいずれかを問い合せるように各Windowsマシンが設定されていることを確認してください。これらのサーバーにはネットワーク上のホストに関する正しい情報があります。このようなサーバーがない場合、次のいずれかの方法で静的なHOST-to-IPエントリを入力できます。

%windir%\system32\drivers\etc\hosts

または

%windir%\system32\drivers\etc\lmhosts

これらの4つのオプションを指定しなかった場合、Windowsマシンはブロードキャスト(非常に低速)を実行してピア・ノードを検出します。

また、Windowsマシンで定義済のWINSサーバーまたはDNSサーバーと通信できない場合、またはホスト名の解決がこれらのサーバーで正しく設定されていない場合は、ホスト名の解決に非常に時間がかかる場合があります。pingコマンドを使用して、ホストを効率的に検出できるかどうかをテストします。pingコマンドのレスポンスは、ホスト名の解決が適切に設定されている場合はすぐに返されます。


注意: レプリケーション・スキームでのデータ・ストア・ホストの指定は一貫している必要があります。あるデータ・ストアにIPアドレスを使用してホストを指定した後、同じデータ・ストアまたは別のデータ・ストアにそのホスト名は使用しないでください。

TimesTenデーモンおよびサブデーモンのユーザー指定アドレス

デフォルトでは、TimesTenのメイン・デーモン、すべてのサブデーモン、およびすべてのエージェントは、使用可能な任意のアドレスを使用してソケット上でリクエストをリスニングします。ttendaemon.optionsファイルを変更して-listenaddrオプションを設定すると、エージェントとデーモン間の通信用アドレスを指定できます。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデーモン・オプションの管理に関する説明を参照してください。

マシンに2つのNICがあり、NICのアドレスがそれぞれ10.10.10.100と10.10.11.200であるとします。ループバック・アドレスは127.0.0.1です。ループバック・アドレスをレプリケーション・エージェントに適用する場合は次のことに注意してください。

レプリケート・データ・ストアのローカル・ホストの識別

通常、レプリケーション構成に含まれるホストは、オペレーティング・システムの一般的なホスト名の解決方法で識別することができますが、ホスト名の構成が一般的でない場合、レプリケーション・スキームに指定されたホスト名とローカル・ホストが一致しているかどうかをTimesTenで判別できないことがまれにあります。このような状態でttRepStartまたはttAdmin -repStartを使用してレプリケーションを開始しようとすると、エラー8191「This store is not involved in a replication scheme」を受信することになります。この場合は、組込みプロシージャttHostNameSetを使用して、現在のデータ・ストアが、レプリケーション・スキームで指定されているデータ・ストアであることをTimesTenに明示的に示すことができます。詳細は、『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』のttHostNameSetに関する説明を参照してください。