EDB Postgres Distributed(PGD)6.3.0
日本語訳|EDB Postgres Distributed(PGD)6.3.0
※GoogleのAutoML Translationを使用して翻訳しております。
![]() |
![]() |
英語原文|EDB Postgres Distributed(PGD)6.3.0
![]() |
![]() |
概要
1. PGDとは?
EDB Postgres Distributed (PGD) は、標準のPostgreSQLを分散型の常時稼働(Always-On)マルチマスターデータベースプラットフォームに変換する統合ソフトウェアスタックです。
最新世代の双方向レプリケーション(BDR: Bi-Directional Replication)を基盤とするPGDは、従来のシングルプライマリ・データベースアーキテクチャを置き換え、複数のノードで読み取りと書き込みを受け付けるメッシュネットワークを提供します。ダウンタイムが許されないTier-1エンタープライズアプリケーション向けに設計されており、グローバルなデータ分散、高可用性、および簡素化された一貫性管理のための堅牢なフレームワークを提供します。標準のPostgreSQL、EDB Postgres Extended Server、およびEDB Postgres Advanced Serverをサポートしています。
2. 現在のITシステムとデータベースにおけるPGDのメリット
PGDは、従来のデータベースレプリケーション(物理ストリーミングレプリケーションなど)のいくつかの制限を解決し、最新のITインフラストラクチャに多大なメリットをもたらします。
- 継続的なビジネス継続性(最大99.999%の稼働率): 「ゼロ・ウェイト・フェイルオーバー」を提供します。ノードやリージョンで障害が発生した場合、アプリケーションは即座にトラフィックを別のアクティブなノードにルーティングします。復旧時間は数分ではなく、数秒単位で完了します。
- ゼロダウンタイムのメンテナンス: 各ノードはアクティブ・アクティブ構成で独立して動作するため、管理者はアプリケーションをオフラインにすることなく、ローリングでのOSパッチ適用、データベースのマイナー/メジャーアップグレード、スキーマ変更を1ノードずつ実行できます。
- データ主権と細かなデータ局所性(Locality): 厳格な規制環境(GDPRなど)に対応するため、PGDではデータベースの統合的なグローバルビューを維持しつつ、機密性の高いユーザーデータを特定の地理的リージョンに固定(ピン留め)することができます。
- エッジ/グローバルでの読み取りスケーリング: 読み取りキャパシティをグローバルに水平拡張(スケールアウト)できるため、データを物理的にユーザーの近くに配置し、「光の速度」に起因するネットワーク遅延を排除します。
- 管理されたデータライフサイクル: PGDはデータのパーティショニングを自動化し、古い「コールド」データをオブジェクトストレージ(Amazon S3やApache Icebergレイクハウスなど)上の高圧縮カラムナフォーマットに自動的にオフロードできるため、高価で高性能なSSDストレージのコストを大幅に削減します。
3. PGDはどのようにしてこれらのメリットを実現しているのか?
PGDは、高度なアーキテクチャコンポーネントの組み合わせにより、その分散機能を実現しています。
- ロジカルレプリケーション(BDR): 物理的なディスクブロックをコピーするのではなく、データを論理的(行単位)にレプリケーションします。これにより、異なるノードが同時に書き込み可能な状態を維持でき、アップグレード時には異なるPostgresバージョン間でのレプリケーションが可能になります。
- コミットスコープ(Commit Scopes): 複雑な手動チューニングの代わりに、直感的な名前が付けられた「コミットスコープ」を使用し、アーキテクトが必要とする正確なCAP定理のトレードオフ(一貫性 vs 可用性)を調整できます。オプションには、デフォルトの非同期レプリケーションから、厳密に同期する「グループコミット(Group Commit)」や「最大1回コミット(CAMO: Commit At Most Once)」の保証まで用意されています。
- 組み込みのコネクションマネージャー(Connection Manager): クラスターの健全性を自動的に追跡し、クライアントの読み取り/書き込みトラフィックを適切に指定された「ライトリーダー(write leader)」にルーティングするネイティブのルーティングコンポーネントです。これにより、競合の回避とシームレスなフェイルオーバーを保証します。
- Raftコンセンサスアルゴリズム: PGDはRaftアルゴリズムを使用してクラスター内の合意を維持します。自動的にグループリーダーを選出し、分散ロックを管理し、一部のノードに障害が発生した場合でもクラスターのフォールトトレランス(耐障害性)を確保します。
- 自動化された競合管理(Conflict Management): アクティブ・アクティブ構成では同時データ編集による競合が発生する可能性があるため、PGDには堅牢な競合解決エンジンが搭載されています。行レベル(例:「最終更新優先」)、列レベル、または数学的な確実性を持つCRDT(Conflict-free Replicated Data Types:競合なしに複製可能なデータ型)を使用して、競合を自動的に解決できます。
- 柔軟なノードタイプ: PGDは、標準の「データノード(Data nodes)」、データを保存せずにRaft選挙に参加してクォーラム(定足数)を達成する「ウィットネスノード(Witness nodes)」、およびエッジでの大規模な読み取りスケーリングに使用される「サブスクライバー専用ノード(Subscriber-only nodes)」を活用します。
4. バージョン6.3の新機能
2026年3月にリリースされたPGD 6.3.0は、安定性、信頼性、および管理機能の向上に重点を置いています。主な新機能は以下の通りです。
- サブスクライバー専用ノード上のコネクションマネージャー: コネクションマネージャーが、サブスクライバー専用ノードにおいてデフォルトで初期化・起動されるようになりました。これにより、高度なコネクションプーリングとセッション管理がエッジノードにも拡張され、読み取り専用トラフィックが自動的にローカルにルーティングされてレイテンシが短縮されます。また、新たなHTTPヘルスチェックエンドポイント(/connection/is-ready-ro および /connection/is-ready-rw)も追加されました。
- PGD CLIを介したコンセンサス管理: コマンドラインインターフェースに pgd raft enable および pgd raft disable コマンドが追加されました。これにより、管理者は特定のノード、グループ、またはクラスターレベルでRaftコンセンサスの動作をオン/オフする非常に細かな制御が可能になります。
- 高度なシーケンス追跡: PGD 6.3では、グローバルに割り当てられたシーケンス(galloc)に対するグローバルUUID追跡が導入されました。これにより、シーケンスの名前変更やスキーマ間の移動(ALTER SEQUENCE … RENAME/SET SCHEMA)などの操作が、同期を損なうことなくクラスター全体に完璧に伝播することが保証されます。
- グループコミット時の競合処理の改善: グループコミット中の競合処理が強化され、レプリケーションの進行状況の推測に依存するのではなく、タイムスタンプベースのEager(事前)検出を使用するようになり、パフォーマンスが最適化されました(システムクロックがすべてのノードで同期されている必要があります)。
- 認証機能の強化: コネクションマネージャーにおける pg_hba.conf の照合ロジックが一貫性向上のために改善され、証明書(cert)認証を使用する際に pg_ident.conf を介したユーザー名マッピングがサポートされるようになりました。
- 新しいOSサポート: PGD 6.3では、SUSE Linux Enterprise Server (SLES) 15 SP7が公式プラットフォームとして新たにサポートされました。





