Introduction
============

基盤 変換されたPostgreSQL
-------------------------

PGDは、標準のPostgreSQL、 EDB Postgres Extended ServerPGE、またはEDB
Postgres Advanced
Serverと互換性のある洗練された拡張機能として実装されています。
PGDは、その中核として、最新世代のBDR双方向レプリケーションを搭載しています。市場に出ているいくつかのアクティブ/アクティブシステムは、まだ古いBDR
1.0アーキテクチャに基づいて構築されていますが、
PGDには、最初のリリースから10年以上の継続的な機能強化とエンタープライズ強化が組み込まれています。この百戦錬磨のバージョンは、ティア1アプリケーションに必要な特定のパフォーマンスと信頼性を提供し、最新の分散ワークロードを処理するために10年間の運用で実証された改良を活用しています。

継続的な事業継続アクティブ-アクティブ
-------------------------------------

複雑で多くの場合数分かかるフェイルオーバープロセスを必要とする従来の物理レプリケーションとは異なり、
PGDは論理レプリケーションに基づいて構築されています。

- **ゼロ待機フェイルオーバー**
  PGDクラスター内のすべてのノードは本質的に書き込み可能です。ノードまたはリージョンに障害が発生すると、アプリケーションは、プライマリ選択または復旧プロセスを待たずに、トラフィックを他のアクティブノードにすぐにルーティングできます。

- **常時アクセス**
  トラフィックはクラスター全体で流動的なままで、「復旧時間」は分ではなく秒単位で測定されます。

コミットスコープを介した一貫性の簡素化
--------------------------------------

PGDは、PostgreSQLの真の分散一貫性を提供する唯一のソリューションです。異なるアプリケーションには、CAP定理一貫性、可用性、およびパーティショントレランスに関する異なるニーズがあることを認識しています。

- **事前定義された保証** 数十の\ ``postgresql.conf``
  パラメーターを手動で調整する代わりに、PGDはコミットスコープを使用します。これらは事前定義された直感的な名前の構成であり、アプリケーションが必要とするパフォーマンスと耐久性の正確なトレードオフを選択できます。

- **複雑さの削減**
  単一のグローバル設定を使用して、非同期、同期、またはクォーラムコミットロジックを切り替えることができます。より複雑な要件の場合、簡単なコマンドを使用してこれらのスコープを個々のトランザクションレベルまで変更して、特定のビジネスニーズをその場で満たすことができます。

詳細なデータの局所性と主権
--------------------------

グローバルなユーザーベースとGDPRのような厳しい規制環境の要求を満たすために、PGDは高度なデータルーティングをサポートしています。

- **選択的フィルタリング**
  どのデータをどのノードに複製するかを正確に制御します。

- **地域主権**
  統一されたグローバルクラスタービューを維持しながら、機密ユーザーデータを特定の地理的リージョンにピン留めします。

- **レイテンシーの削減**
  データをアプリケーションインスタンスの物理的に近くに保ちます。エッジでローカルデータの可用性を維持することにより、リージョンを越えたラウンドトリップに関連する「光の速度」の遅延を排除します。

自動化された競合管理
--------------------

行レベルの競合を最小限に抑えるアプリケーションデザインをお勧めしますが、現実の運用環境は本質的に乱雑であることを認識しています。同時書き込みがオーバーラップする避けられない瞬間に、
PGDは堅牢な自動競合解決エンジンを提供します。

重要なセーフティネットとして機能するPGDは、確立されたビジネスルール最後の更新勝利またはカスタムトリガーなどに基づいて、不一致を検出および解決します。これにより、手動DBAの介入または「データクリーンアップ」シフトを必要とせずに、グローバルファブリック全体でデータが同一のままであることが保証されます。

サブスクライバ専用ノードを使用したグローバル読み取りスケーリング
----------------------------------------------------------------

大規模な読み取りキャパシティを必要とするワークロードの場合、PGDはサブスクライバ専用ノードをサポートします。これらのグループを使用すると、標準のクラスターの制限をはるかに超えて水平にスケーリングできます。

- **大規模なスケール**
  PGDは、最大200のサブスクライバノードを含むクラスターを使用した実稼働環境で証明されています。

- **エッジアクセス**
  これらのノードは世界のどこにでも展開でき、グローバルユーザーに低遅延のローカルアクセスを提供します。

- **柔軟なトポロジ**
  データの分散方法を選択できます。グループ内のすべてのノードはプライマリに直接接続できます。または、グループごとに1つのノードが他のノードにデータを再配布する「ハブ」として機能できます。この再配布モデルには、エッジがオンラインのままであることを保証するための自動高可用性が含まれています。

- **パフォーマンスチューニング**
  アーキテクトは、エッジへのレプリケーション遅延を最小限に抑えるか、プライマリノードの接続負荷を管理するかを選択できます。

管理対象データのライフサイクル: AutoPartitionと階層化テーブル
-------------------------------------------------------------

新しいデータは指数関数的に作成されており、規制要件を満たすには古いデータにアクセスし続ける必要があることがよくあります。
PGDは、階層化テーブルを導入することにより、タイムインターバルパーティションの作成を自動化するAutoPartition機能を基盤としています。この機能は、最新のデータレイクハウスアーキテクチャと直接統合しながら、さまざまなストレージ階層にわたってホットおよびコールドデータを管理するシームレスな方法を提供します。

- **自動管理**
  PGDは、タイムインターバルの幻影の作成とメンテナンスを自動的に処理します。毎日、毎月の間隔などのポリシーを定義すると、システムはデータが到着する前に必要なパーティションが存在することを確認します。

- **統合クエリインターフェイス**
  単一のテーブルからホット行ベースとコールド列方向のデータの両方を照会できます。
  PGDは、さまざまなストレージ形式からデータを取得する複雑さをバックグラウンドで処理します。

- **自動データオフロード**
  PGDは、古いデータパーティションをオブジェクトストレージの高圧縮のカラムナ形式に自動的に移行します。これにより、アクティブなSSDは高性能、低遅延のトランザクションに集中し続けます。

- **柔軟なストレージとデータレイクターゲット** 階層テーブルは、Amazon
  S3、MinIO、ローカルファイルシステムなどの費用対効果の高いターゲットをサポートします。さらに、PGDは、
  Postgres Analytics Accelerator PGAAを介してApache
  Icebergへのレプリケーションをサポートするようになりました。

- **合理化された分析** Apache
  Icebergのサポートにより、PGDクラスターからデータレイクにデータを直接ストリーミングし、PGD内からそのIcebergデータを直接照会できます。これにより、複雑なETLパイプラインを使用せずに、リアルタイムのトランザクションデータを大規模な履歴データセットと結合できます。

- **大幅なコスト効率**
  履歴データをオブジェクトストレージまたはIcebergレイクハウスに移動することにより、高性能SSDと比較してストレージコストを最大18倍に削減できます。

シームレスなライフサイクル管理
------------------------------

PGDは、「メンテナンスウィンドウ」を排除します。アーキテクチャが分散され、ノードが独立しているため、一度に1ノードずつローリングアップグレードとOSパッチを実行できます。アプリケーションは、データベースのライフサイクル全体を通じてオンラインで、クラスターの残りの部分に接続されたままです。

.. csv-table::
  :header: Feature,Standard PostgreSQL,EDB Postgres Distributed (PGD)
  :widths: 12,15,15
  :align: left
  :class: longtable

  Write availability,Single primary only,Multi-master (all nodes)
  Failover speed,Minutes (detection + promotion),Near-instant (traffic re-routing)
  Consistency,Rigid (primary/standby),Configurable via commit scopes
  Data locality,All-or-nothing replication,Granular/selective filtering
  Upgrades,Significant downtime/re-build standbys,Zero-downtime rolling upgrades

..  Note Note on Reliability:::
   PGDは、階層2および階層3アプリケーションでも100の可用性が求められる現代のエンタープライズ向けに構築されています。 PGDは、「プライマリ」ボトルネックを削除することにより、データベースがユーザーと同じくらいグローバルで復元力があることを保証します。 !!!
