An overview of Subscriber-only nodes#

概要#

多くのユースケースは、クエリと更新を処理できるデータベースノードへのアクセスに依存していますが、読み取り専用のデータベースクエリを処理できるノードへのアクセスのみを必要とするユースケースもあります。このような読み取りスケーリングは、クラスター内のアクティブなデータベースノードから読み取り専用トラフィックを移動することにより、コアクラスターのパフォーマンスを向上させながら、データベースアクセスをより広く利用できるようにします。

サブスクライバー専用ノード#

サブスクライバー専用ノードの基本的なアイデアは、メインクラスターから読み取り専用クエリをオフロードするために使用できる読み取り専用ノードを提供することです。 PGDクラスターのデフォルトのトポロジは、いわゆるフルメッシュトポロジであり、すべてのノードが他のすべてのノードに接続します。これは、ノードを接続する最も堅牢でフォールトトレラントな方法ですが、一部のユースケースでは非効率である場合があります。

サブスクライバ専用ノードは、サブスクライバ専用グループのメンバーになることができますが、 PGD 6以降では、データグループの一部になることができます。

購読者専用グループ#

PGDの加入者専用グループは、加入者専用ノードを収集します。各グループは、さまざまなリージョンまたはさまざまなアプリケーションの要求に対応できます。

データグループとは異なり、購読者専用グループには、独自のraftコンセンサスメカニズムがありません。これは、加入者専用グループが必要な数の加入者専用ノードを持つことができることも意味します。

PGD 6より前は、サブスクライバー専用グループの存在によってレプリケーショントポロジが変更されませんでした。デフォルトでは、サブスクライバ専用グループ内のすべてのノードは、クラスター内の他のすべてのノードからレプリケートされた変更を個別に受信します。

加入者専用グループの最適化#

PGD 6以降では、オプションで加入者専用グループのトポロジを最適化できます。

データノードにプロキシとraft対応グループを使用するクラスターの場合、サブスクライバー専用グループは、レプリケートされた変更を受信するためのより効率的なモデルを使用できます。

最適化されたトポロジオプションは、PGDプロキシの書き込みリーダーと同様に、各サブスクライバ専用グループにグループリーダーを作成します。グループリーダーは、クラスターからすべての変更を受信し、グループ内の他のノードにそれらを複製します。この機能の詳細については、 Optimizing subscriber-only groups を参照してください。

サブスクライバー専用ノードとDDL#

サブスクライバー専用ノードは、ローカルに発行されたDDLコマンドを実行できますが、これらの変更はクラスター内の他のノードにレプリケートされず、クラスターでロックを取得しようとしません。