BDR-Always-ON
=============

Always-ON構成のEDB
Postgres分散3.7または4。テストおよびプロダクションでの使用に適しています。

このアーキテクチャには、EDBサブスクリプションが必要です。
すべてのソフトウェアは :ref:`Configuring EDB Repos 2.0 repositories <Configuring EDB Repos 2.0 repositories>`  からソースされます。

BDR-Always-ONアーキテクチャには、 ``--layout``
configureオプションで選択できる4つのバリアントがあります。

1. ブロンズ 2×bdr+プライマリ、bdr+witness、barman、2×harp-プロキシ

2. シルバー:ブロンズ、bdr + Witnessがbdr
   +プライマリに昇格し、バーテンダーが別の場所に移動した

3. gold
   それぞれ2×bdr+プライマリ、2×harp-プロキシ、およびbarmanを備えた2つの対称的な場所。プラス3番目の場所にbdr
   + Witness

4. プラチナ:ゴールド、ただし1つのbdr+読み取り専用ロジカルスタンバイが各メインの場所に追加されます

EDBのPostgres DistributedAlways Onアーキテクチャ
 
`whitepaper <https://www.enterprisedb.com/promote/bdr-always-on-architectures>`_ を確認できます。

詳細なレイアウト図については、

このアーキテクチャは、PGDバージョン3.7および4で使用することを対象としています。

クラスター構成
--------------

構成オプションの概要
^^^^^^^^^^^^^^^^^^^^

このアーキテクチャの\ ``tpaexec configure``
の呼び出し例を以下に示します。

.. code:: shell

   tpaexec configure ~/clusters/bdr \
            --architecture BDR-Always-ON \
            --platform aws --region eu-west-1 --instance-type t3.micro \
            --distribution Debian \
            --edb-postgres-advanced 14 --redwood
            --layout gold \
            --harp-consensus-protocol bdr

helpコマンドを使用して、使用可能なすべてのオプションをリストできます。

.. code:: shell

   tpaexec configure --architecture BDR-Always-ON --help

以下の表では、
BDR-Always-ONの必須オプションと追加の重要なオプションについて説明します。オプションの詳細については、次のセクションで説明します。

必須オプション
^^^^^^^^^^^^^^

.. csv-table::
  :header: Option,Description
  :widths: 10,30
  :align: left
  :class: longtable

  `--architecture` (`-a`),`BDR-Always-ON`に設定する必要があります。
  Postgres flavour and version (e.g. `--postgresql 14`),有効な :ref:`Postgresのフレーバーとバージョン<Postgresのフレーバーとバージョン>` 。
  `--layout`,`bronze`、`silver`、`gold`、`platinum`のいずれか。
  `--harp-consensus-protocol`,`bdr`、`etcd`のいずれか。

追加オプション
^^^^^^^^^^^^^^

.. csv-table::
  :header: Option,Description,Behaviour if omitted
  :widths: 12,25,15
  :align: left
  :class: longtable

  `--platform`,`aws`、`docker`、`bare`のいずれか。,Defaults to `aws`.
  `--enable-camo`,各ロケーションに2つのデータノードをCAMOパートナーとして設定します。,CAMO will not be enabled.
  `--bdr-database`,レプリケーションに使用されるデータベースの名前。,Defaults to `bdrdb`.
  `--enable-harp-probes`,`health/is-ready`などのharpのhttp APIエンドポイントを有効にして、harpの状態をプローブできるようにします。,Disabled by default.

BDR-Always-ON構成の詳細
^^^^^^^^^^^^^^^^^^^^^^^

``--layout layoutname``
を指定して、サポートされているBDRユースケースバリエーションのいずれかを設定する必要があります。許可される引数は、ブロンズ、シルバー、ゴールド、およびプラチナです。ブロンズ、ゴールド、およびプラチナレイアウトには、Raftコンセンサスマジョリティの奇数のノードを保証するPGD監視ノードがあります。
Witnessノードはデータレプリケーションに参加しません。

``--harp-consensus-protocol protocolname``
を指定する必要があります。サポートされているプロトコルはbdrおよびetcdです。詳細は、
:ref:`Configuring HARP <Configuring HARP>` を参照してください。

オプションで\ ``--bdr-database dbname``
を指定して、PGDが有効になっているデータベースの名前を設定できますデフォルトbdrdb
。

オプションで\ ``--enable-camo``
を指定して、各リージョンのPGDプライマリインスタンスのペアを互いのCAMOパートナーに設定できます。

オプションで\ ``--enable-harp-probes [{http, https}]``
を指定して、harpの状態を簡単にプローブできるhttp
APIエンドポイントを有効にすることができます。

BDR-Always-ONアーキテクチャでは、デフォルトでHARP2が有効になっていることに注意してください。

:ref:`クラスター構成 <クラスター構成>` で説明されるオプションを指定することもできます。
