PGD-X#
注釈
このアーキテクチャは、 Postgres Distributed 6専用です。 PGD 5が必要な場合は、 PGD-Always-ON を使用してください。
このアーキテクチャには、EDBサブスクリプションが必要です。すべてのソフトウェアは Configuring EDB Repos 2.0 repositories から供給されています。
クラスター構成#
構成オプションの概要#
このアーキテクチャのtpaexec configure
の呼び出し例を以下に示します。
tpaexec configure ~/clusters/pgd-x \
--architecture PGD-X \
--edb-postgres-extended 15 \
--platform aws --instance-type t3.micro \
--distribution Debian \
--pgd-routing global \
--location-names dc1 dc2 dc3 \
--witness-only-location dc3 \
--data-nodes-per-location 2
helpコマンドを使用して、使用可能なすべてのオプションをリストできます。
tpaexec configure --architecture PGD-X --help
以下の表では、PGD-Xの必須オプションと追加の重要なオプションについて説明しています。オプションの詳細については、次のセクションで説明します。
必須オプション#
Options |
Description |
|---|---|
--architecture (-a) |
`PGD-X`に設定する必要があります |
Postgres flavour and version (e.g. --postgresql 15) |
有効な Postgresのフレーバーとバージョン 。 Postgres 14-18をサポートします。 |
--pgd-routing |
`global`または`local`のいずれかである必要があります。 |
追加オプション#
Options |
Description |
Behaviour if omitted |
|---|---|---|
--platform |
aws、docker、`bare`のいずれか。 |
Defaults to aws. |
--location-names |
場所名のスペース区切りのリスト。場所の数は、指定された名前の数と同じです。 |
TPA will configure a single location with three data nodes. |
--witness-only-location |
ロケーション名は、`location-names`のメンバーである必要があります。 |
No witness-only location is added. |
--data-nodes-per-location |
各場所のデータノードの数は、少なくとも2である必要があります。 |
Defaults to 3. |
--enable-camo |
各ロケーションに2つのデータノードをCAMOパートナーとして設定します。 |
CAMO will not be enabled. |
--bdr-database |
レプリケーションに使用されるデータベースの名前。 |
Defaults to bdrdb. |
--enable-pgd-probes |
`health/is-ready`などのpgd-プロキシのhttp(s) APIエンドポイントを有効にして、プロキシの状態をプローブできるようにします。 |
Disabled by default. |
--read-write-port |
接続マネージャーが読み取り/書き込み接続をリッスンするポート。 |
Left empty in config.yml, allowing default of the postgres port + 1000 |
--read-only-port |
接続マネージャーが読み取り専用接続をリッスンするポート。 |
Left empty in config.yml, allowing default of the read-write port + 1 |
PGD-X構成の詳細#
PGD-Xクラスターは、多くの場所、好ましくは奇数で構成され、それぞれが同じ数のデータノード、やはり好ましくは奇数です。
--location-names
を指定しない場合、デフォルトでは、3つのデータノードを持つ単一の場所を使用します。
クラスターの場所名は--location-names dc1 dc2 …
として指定されます。ロケーションは、この定義がユースケースにとって意味のある方法で、レベルの冗長性を提供する独立したデータセンターを表します。たとえば、AWSリージョン、独自のデータセンター、またはサーバーがホストされている場所を識別するためのその他の指定。
--data-nodes-per-location N
を使用して、各場所のデータノードの数を指定します。最小数は2で、デフォルトは3です。
ロケーションごとに偶数のデータノードを指定すると、TPAは各ロケーションに追加の監視ノードを自動的に追加します。これにより、コストを削減しながら、信頼できるコンセンサスを確立する機能が維持されます。監視のハードウェア要件は、データノードと比較して最小限です。
2つのロケーションのみからなるクラスターは、いずれかのロケーションに障害が発生した場合、グローバルコンセンサスを確立する能力を完全に失います。
3番目の監視専用の場所を追加することをお勧めします。これにはデータノードは含まず、監視ノードのみが含まれ、これもコンセンサスを確実に確立するために使用されます。
--witness-only-location loc
を使用して、いずれかの場所を監視者として指定します。
ユースケースによっては、 --pgd-routing local またはglobal
を指定して、Connection
Managerが書き込みリーダーに接続をルーティングする方法を構成する必要があります。ローカルルーティングは、すべての接続マネージャーを独自の場所内の書き込みリーダーにルートさせますジオシャーディングアプリケーションに適しています。グローバルルーティングは、すべての接続マネージャーを、すべての場所で使用可能なすべてのデータノードの中から選択される単一の書き込みリーダーにルートします。
オプションで--bdr-database dbname を指定して、
BDRが有効になったデータベースの名前を設定できますデフォルトbdrdb 。
オプションで--enable-camo
を指定して、各リージョンの2つのデータノードをCAMOパートナーとして設定できます。
オプションで--enable-pgd-probes [{http, https}]
を指定して、プロキシの状態を簡単にプローブできるhttp
APIエンドポイントを有効にすることができます。
クラスター構成 で説明されるオプションを指定することもできます。