ヘッダーをスキップ

Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド リリース6.0 B25769-01 |
| 目次 | 索引

前へ | 次へ |

## ネットワークの構成

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

- ネットワーク帯域幅要件
- WAN環境でのレプリケーション
- ホストIPアドレスの設定

## ネットワーク帯域幅要件

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/秒
T2 | 780KB/秒
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プロトコルで処理する必要があるネットワーク通信量を削減します。詳細は、「レプリケートの通信量の圧縮」を参照してください。

## ホストIPアドレスの設定

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

### UNIX上のデータ・ストア・ホストの指定

UNIXホストが1つのIPアドレスおよびホスト名を持っている場合は、hostnameコマンドによって返されるホスト名を使用できます。

1つのホストに（異なるIPアドレスを持つ）複数のネットワーク・インタフェースがある場合、TimesTenレプリケーションは、gethostbynameコールによって返される順序でIPアドレスに接続を試行します。最初のアドレスを使用して接続を試行し、接続できない場合は、接続が確立するまで、順番に残りのアドレスに接続を試行します。TimesTenレプリケーションは、ホストに新しく接続するたびにこの同じ順序を使用します。あるIPアドレスでホストへの接続が失敗すると、TimesTenレプリケーションは、前述の方法と同じ方法でホストの別のIPアドレスに再接続（またはフォールバック）を試行します。

注意: ネットワーク・インタフェース・カード（NIC）が複数ある場合は、/etc/host.confファイルにmulti onが指定されていることを確認してください。指定されていない場合、gethostbynameは複数のアドレスを返しません。

UNIX Platformsで複数のIPアドレスを使用するようにホストを設定するには、基本的にDNSまたは/etc/hostsファイルを使用する2つの方法があります。

たとえば、マシンに2つのNICがある場合は、/etc/hostsファイルに対して次の構文を使用します。

    127.0.0.1 localhost
    <IP addr 1 for NIC 1>  <official hostname> <alias name>
    <IP addr 2 for NIC 2>  <official hostname> <alias name>

    official hostnameは、hostnameコマンドによって返されたホスト名です。

    /etc/hostsファイルを編集する場合は、次のことに注意してください。

- 1つのIPアドレスにつき1行のみにする必要があります。
- 複数のエイリアス名を使用できます。
- 同じホスト名に対して複数のIPアドレスが存在する場合、それらは連続する行に記述されている必要があります。
- ホスト名の長さは、最大30文字にできます。

たとえば、UNIX Platformにある/etc/hostsファイル内の次のエントリは、名前がMachine1で2つのIPアドレスを持つサーバーについて記述しています。

    127.0.0.1           localhost
    10.10.98.102        Machine1
    192.168.1.102       Machine1

    DNSに対して同じ設定を指定する場合、ドメイン・ゾーン・ファイルのエントリは次のようになります。

    Machine1     IN     A     10.10.98.102
                 IN     A     192.168.1.102

    いずれの場合も、レプリケーション・スキームにホスト名としてMachine1を指定する必要のみがあります。レプリケーションでは、接続の確立時に使用可能なIPアドレスが使用されます。

    また、複数のIPアドレスが使用されている環境では、1つのIPアドレスに複数のホスト名を割り当てて特定のIPアドレスへのレプリケーション接続を制限することもできます。たとえば、/etc/hostsファイルに次のようなエントリを含めることができます。

    127.0.0.1          localhost
    10.10.98.102       Machine1
    192.168.1.102      Machine1 RepMachine1

    また、次のようなDNSゾーン・ファイルを含めることもできます。

    Machine1      IN     A     10.10.98.102
                  IN     A     192.168.1.102
    RepMachine1   IN     A     192.168.1.102

    このホストのIPアドレス192.168.1.102へのレプリケーション接続を制限する場合は、レプリケーション・スキームにホスト名としてRepMachine1を指定できます。（もう1つのオプションとして、レプリケーション・スキームの設定に使用するCREATE REPLICATION文にホスト名としてIPアドレスを指定する方法があります。）

ネットワーク・インタフェース・カードおよびユーザー指定のアドレス

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

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

- ttendaemon.optionsファイルに-listenaddrオプションを設定しない場合は、すべてのプロセスでデーモンおよびエージェントと対話できます。
- -listenaddrを10.10.10.100に設定した場合、ローカル・ホストのすべてのプロセスまたは10.10.10ネットで、10.10.10.100のデーモンおよびエージェントと対話できます。10.10.11ネット上のプロセスでは、10.10.10.100のデーモンおよびエージェントと対話できません。
- -listenaddrを127.0.0.1に設定した場合、ローカル・ホストのプロセスのみでデーモンおよびエージェントと対話できます。他のホストのプロセスでは、デーモンおよびエージェントと対話できません。

### Windows上のデータ・ストア・ホストの指定

レプリケーション設定では、ピアのホスト名を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コマンドのレスポンスは、ホスト名の解決が適切に設定されている場合はすぐに返されます。

    Windowsでの\etc\hostsのホスト名の解決設定の問題は、UNIXでの/etc/hostsの問題（「UNIX上のデータ・ストア・ホストの指定」を参照）と同じです。

    ホスト名の長さは、最大30文字にできます。

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