PGD Nodes and Groups#
PGDクラスターは1つ以上のノードで構成され、各ノードはPostgresのインスタンスです。
クラスター内の各ノードは、 BDR拡張機能がインストールおよび構成された完全なPostgresインスタンスです。ノードには、クラスター内でさまざまなロールと責任を持つことができます。ノードは次に、ノード間のデータのレプリケーションを編成するために使用されるグループに編成されます。クラスター自分自身である「トップレベル」グループもあります。クラスター内のすべてのノードはこのグループのメンバーであり、クラスター内の他のすべてのグループの親です。
データノード#
最初に知るノードの種類はデータノードです。これは、PGDクラスターの基本的なビルディングブロックです。クラスター内の他のデータノードとの間でデータを複製するように構成されています。グループではなく、クラスター。デザインでは、 PGDクラスター内のすべてのノードは、クラスター内の他のすべてのノードにレプリケートします。
グループ#
グループは、ノードが自分自身を 管理 する方法をローカライズするために使用されます。各グループは、グループメンバーから独自のRAFTリーダーを選択します。グループがデータノードで構成されるデータグループの場合、RAFTを使用してそのグループの書き込みリーダーノードを選択します。クライアント接続がそのグループ内のノードの接続マネージャーを介して着信すると、書き込みリーダーノードは、そのグループのすべての読み取り/書き込みクライアント接続が送信され、そのグループのすべての書き込み操作を処理するノードになります。
Witnessノード#
Witnessノードはデータノードに似ていますが、データを複製または保存しません。彼らの役割は、データノードのグループが多数決を完了できないほど十分なノードを失った場合に、デッドロック打開投票を提供することです。
Witnessノードは通常のデータレプリケーションプロセスに参加しませんが、競合を解決し、ネットワーク分割またはその他の障害が発生した場合でもクラスターが利用可能な状態を維持するために使用できます。
サブスクライバー専用ノード#
サブスクライバー専用ノードは、クラスター内のデータの読み取り専用レプリカを提供するために使用されます。 PGD 6では、加入者専用ノードをデータグループのメンバーまたは加入者専用グループのメンバーとして構成できます。後者には書き込みリーダーノードがなく、グループ内のすべてのノードは読み取り専用で、レプリケーションプロセスでいくつかのオプションの最適化が可能です。前者では、グループ内のデータの読み取り専用レプリカを許可しますが、レプリケーションプロセスでの最適化はできません。
サブスクライバ専用ノードを使用して、書き込みリーダーノードから読み取りクエリをオフロードできます。これは、書き込みリーダーノードのパフォーマンスを向上させ、負荷を削減するのに役立ちます。レポートまたは分析の目的で、クラスター内のデータの読み取り専用レプリカを提供するために使用できます。接続マネージャーの読み取り専用接続文字列を使用して、このような読み取り専用ノードに接続できます。これにより、接続がクラスター内の読み取り専用ノードのプールに転送されます。
ロジカルスタンバイノード#
論理スタンバイノードは、クラスター内のデータの読み取り専用レプリカを提供するために使用されます。これらは加入者専用ノードに似ていますが、より柔軟になるように設計されており、より幅広いシナリオで使用できます。