【製品解説】EDB Postgres Distributed(PGD)6.0.2
分散Postgresの構成を根本から刷新 〜外部プロキシの排除・統合コネクションマネージャー内蔵とEssentialエディションの導入:EDB Postgres Distributed(PGD)6.0.2 がリリースされました。従来の外部PGDプロキシをデータノード内蔵の「統合コネクションマネージャー」へと置き換えることで、構成の複雑さと運用TCOを大幅に低減。手軽に高可用性を導入できる「PGD Essential」エディションの新設、単一CLI(pgd node setup)による自動構築、ノードUUIDによる識別性向上、事前定義済みコミットスコープなど、劇的なシンプル化と耐障害性向上を果たしたメジャー進化の全貌を解説します。
1. バージョン5.8.0 からの進化
PGD 5.8.0 から 6.0.2 への移行は、製品アーキテクチャ、デプロイ手法、製品体系のすべてに及ぶ根本的な変革をもたらしています。
- 外部プロキシから内蔵コネクションマネージャーへ: 従来は個別の保守・監視が必要だった外部「PGDプロキシ」を全廃。各データノード内のバックグラウンドワーカーとして動作する「統合コネクションマネージャー」へと刷新し、構成を大幅に簡素化しました。
- 2つの製品エディション戦略: 高可用性(HA)と災害復旧(DR)を迅速かつ最小構成で開始できる「PGD Essential」を新設。大規模・高度な要件を満たすフル機能の「PGD Expanded」への円滑なステップアップパスを整備しました。
- 単一CLIによるデプロイ刷新: 従来の複数 SQL 関数実行(
bdr.create_node等)による煩雑な手動構築を排し、単一のpgd node setupコマンドによる高速・冪等なセットアップを実現しました。 - ノードUUIDによる識別性の強化: ノード識別を任意名称から不変の UUID ベースへ改修。ノード交換時や再参加時における名称重複起因のレプリケーション障害を根本から排除しました。
2. 主な新機能
6.0.2 では、システムの堅牢性と日常運用の容易性を最大化する以下の機能が実装されています。
- 内蔵コネクションマネージャー: クライアント接続を適切なライトリーダーへ自動ルーティングし、セッションプーラーや専用の読み取りポートを外部ツールなしで提供します。
- 4つの事前定義コミットスコープ:
local protect、lag protect、majority protect、adaptive protectを標準装備。複雑な手動チューニング不要で最適な耐久性プロファイルを選択可能です。 - CLIクラスタセットアップ:
pgd node setupコマンドにより、クラスタ初期作成からノード追加までをターミナルや構成管理ツールから直接自動実行できます。 - 分散シーケンスの自動変換: ノード参加時にローカルシーケンスをグローバル一意な分散シーケンスへ自動変換し、事前の手動競合対策を不要にしました。
3. 顧客への導入効果
運用の複雑性を削ぎ落とし、高い信頼性とコスト削減を直接的に享受できます。
- TCO削減とアーキテクチャの簡素化: プロキシサーバー専用ホストの調達、パッチ適用、冗長化設計が不要となり、潜在的な障害点とインフラ維持コストを劇的に圧縮します。
- 導入ハードルの大幅な低減: PGD Essential により、中小規模システムや検証環境でも最小限の構成・工数で迅速に分散Postgresを立ち上げられます。
- 自動化パイプラインとの親和性:
pgd node setupの冪等性により、Ansible、Terraform、各種スクリプトとの統合が容易になり、ヒューマンエラーのない迅速な配備が可能です。 - データ整合性リスクの極小化: 過半数合意を保証するコミットスコープやノードUUIDによる厳密な管理により、検知困難なスプリットブレインやデータ不整合を未然に防止します。
4. バージョン6.0.2 新機能
【PGD 6.0系のコア強化と安定化】
- コネクションマネージャーの安定稼働: 6.0.1 の基盤を洗練させ、クライアント切断・再接続時のルーティング追従性とセッション管理の信頼性を向上させました。
- 耐久性プロファイル制御の精緻化: 事前定義済みコミットスコープの適用処理を最適化し、ノード障害発生時におけるライトリーダーの切り替え耐性を強化しました。
- レプリケーションスロット命名規則の堅牢化: ノードUUIDの採用に伴い、オリジンおよびスロットの管理機構を刷新し、動的なノード増減時のデータ同期を安定化させました。
5. 日本語マニュアル
EDB Postgres Distributed(PGD)6.0.2 日本語マニュアル
新機能のアーキテクチャ詳細、初期セットアップ手順やパラメータ仕様については日本語マニュアルをご覧ください。