クラスタ


クラスタ内のレプリカの数と配置を決定する
クラスタにデータベースのレプリカを作成する主な理由は、データの安定した可用性を提供することと、複数のサーバー間でワークロードを分散することの 2 つです。クラスタにレプリカを作成する前に、ユーザーがデータベースにアクセスする頻度とデータの冗長性に対するニーズを検討します。データベースの利用頻度が極めて高い場合や、その可用性が非常に重要な場合は、レプリカを複数作成して最も信頼性のあるサーバーに配置します。利用頻度がそれほど高くなく安定した可用性も必要ないデータベースの場合は、レプリカを作成する必要はありません。たとえば、サーバーのログファイルなどのレプリカを他のサーバーに作成する必要はありません。

通常、データベースのレプリカが増えると、データにはアクセスしやすくなります。しかし、レプリカを作成しすぎると、システムの保守管理のオーバーヘッドが不必要に増え、パフォーマンスに悪影響を及ぼします。クラスタを計画する際は、データの可用性に対するユーザーの必要条件とクラスタ内の各サーバーの物理的な性能が釣り合うようにして増加するワークロードに対応します。1 つのデータベースに対してレプリカを 4 つ以上作成しても、可用性が大幅に増加するとは限りません。1 台か 2 台のサーバーでユーザーが快適にデータベースにアクセスできる場合は、クラスタ内のレプリカを増やさないようにします。

特定のデータベースに安定した可用性が必要な場合は、クラスタにある各サーバーにレプリカを配置することを検討します。ただし、十分なディスク容量とリソースがあることが条件となります。サービスプロバイダの場合は、この設定によりデータに最大可能な冗長性を持たせることができます。

利用頻度が最も高いデータベースはそれぞれ異なるサーバーに分散配置し、1 台のサーバーに集中しないようにします。クラスタ内のサーバーが、すべて同等の処理能力を持っている場合は、フェイルオーバー用の予備の処理能力も含めて、各サーバーにワークロードを均等に分散できます。あるサーバーの処理能力が他のサーバーに比べて著しく異なる場合は、このサーバーに配置するデータベースの数とこのサーバーにフェイルオーバーできるデータベースの数を変更することを検討します。メールファイルもクラスタ全体に分散させるか、メール用に独立したサーバーやクラスタを設定します。

クラスタ内で利用頻度の高いデータベースでは複製イベントが数多く生成されるので、クラスタで最も高速なハードディスクにこれらデータベースのレプリカを配置することをお勧めします。できれば、これらのレプリカは、オペレーティングシステムのスワップファイルがないパーティションなど、他のプロセスと競合しない場所に配置します。

クラスタ内にすでに存在するデータベースとそのレプリカを参照するには、クラスタデータベースディレクトリ (CLDBDIR.NSF) を開きます。クラスタデータベースディレクトリには、クラスタにあるデータベースとレプリカに関する情報を保存した文書があります。

メモ 選択複製式の動作は、クラスタでは異なったものになります

作成するレプリカの数次のリストは、作成するレプリカの数を検討するための必要条件を説明したものです。


データベースを分析してレプリカの数を決定する作成するレプリカの数を決定するときに考慮すべき要素がいくつかあります。これら要素の中には、レプリカの数を増やすことを推奨するものもありますが、逆に減らすことを推奨するものもあります。こうした要素がクラスタトラフィックとパフォーマンスにどのように影響するかを次に説明します。
クラスタ内にデータベースを分散させるにあたって、データベースとクラスタのハードウェアの情報を表にすると便利です。この表を使用して、特定のデータベースの重要度や、リソースが十分であるかを判断します。次の項目の一部またはすべてを表に含めてください。
例:要素の一覧表データベース情報の表を作成するときは、最も重要な要素を記入します。次の表では、前述の情報の一部を使用して必要なレプリカ数を決めています。
データベース名サイズ同時に使用するユーザーの最大数トランザクション率データ増加率可用性の必要性推奨レプリカ数
製品開発4GB6002
セールストラッキング1GB200普通クリティカル2 以上
企業研究2GB20普通普通0 か 1
項目別広告1GB50普通普通0
この表により、高い可用性を必要とするデータベース、最もアクセスが多いデータベース、将来必要な追加ディスク容量が分かりやすくなります。この例では、重要なデータベースが 2 つあり、そこでは急速にデータが増加しています。この 2 つのデータベースが常時使用できるようにそのレプリカを十分に作成しておく必要があります。この 2 つのデータベースのレプリカがあるサーバーでは、データの増加に備えて十分なディスク容量を確保しておく必要があります。表には重要度が中でデータもあまり急速に増加せず、それほど頻繁には利用されないデータベースが 1 つあります。このデータベースを使用できない期間が発生すると業務に悪影響が出る場合に、そのレプリカを 1 つだけ作成します。表の最後のデータベースは重要ではないので、クラスタにレプリカは不要です。

同時に使用するユーザーの最大数は、ワークロードの均衡化の必要性を判断する上で役立ちます。この例では、頻繁にアクセスされるデータベースが 2 つあり、両方とも重要です。したがって、この 2 つのデータベースを別々のサーバーに配置して、ワークロードの均衡化を図る必要があります。この 2 つのデータベースがあるサーバーにはワークロードの均衡化パラメータを設定し、データベースがビジーになったときに別のサーバーにフェイルオーバーできるようにします。