【製品情報】EDB Postgres Distributed(PGD)6.2.0

音声ガイド

概要

1. アーキテクチャ (Architectures)
PGDは、高可用性(HA)と災害復旧(DR)のために設計されたアーキテクチャをサポートしており、「Essential(エッセンシャル)」および「Expanded(エクスパンデッド)」エディションに分かれています。

  • 標準アーキテクチャ(単一ロケーション): 通常、同一リージョン内の3つのデータノードで構成される単一のPGDクラスタ(グループ)です。1つのノードが書き込みリーダー(Write Leader)として機能し、すべての書き込みトランザクションを処理します。他のノードは読み取り専用レプリカおよびフェイルオーバー先として機能します。
  • Near/Far(近距離/遠距離)アーキテクチャ: 災害復旧用に設計されています。2つのデータノードを持つプライマリロケーション(Near)と、1つのデータノードを持つセカンダリロケーション(Far)で構成されます。セカンダリノードは通常、復旧が必要になるまでフェンス(隔離)されます。
  • Always-Onアーキテクチャ (Expanded): 複数のロケーションにまたがるノードグループ(通常は1グループあたり3ノード)を使用します。99.999%の可用性を目指し、アクティブ/アクティブ機能、または高速フェイルオーバーを伴うアクティブ/パッシブ構成を提供します。
  • 地理分散/マルチロケーション: 複数の地理的リージョンにまたがるクラスタです。PGD Expandedでは、複数のリージョンでの書き込み(マルチマスター)が可能で、データはリージョン間で非同期または同期的にレプリケーションされます。

2. 機能と採用技術 (Features and Technologies)
PGDはPostgreSQL拡張機能(BDR – Bi-Directional Replication)として構築されており、分散データを管理するための高度な技術が含まれています。

  • Connection Manager(接続マネージャー): 接続をリッスンし、適切なノード(書き込み用の書き込みリーダーや読み取り用のノードプールなど)にルーティングする組み込みのバックグラウンドワーカーです(古いPGD Proxyの代替)。TLSおよびLDAP認証をサポートしています。
  • Raftコンセンサス: リーダー選出(書き込みリーダーの決定)、クラスタ状態の管理、およびノード間でのロックやトポロジ変更の合意形成に使用されるプロトコルです。
  • コミットスコープ (Commit Scopes): 耐久性と整合性を定義するルールです。
    • Synchronous Commit (同期コミット): ピアからの確認を待機します(従来のPostgres同期レプリケーションと同様)。
    • Group Commit (グループコミット): 特定のノードグループからのコンセンサス(合意)を必要とします。
    • CAMO (Commit At Most Once): フェイルオーバー発生時にトランザクションが二重にコミットされるのを防ぎます。
    • Lag Control (遅延制御): レプリケーションの遅延が定義されたしきい値を超えた場合、書き込み速度を動的に抑制します。
  • 競合管理 (Conflict Management):
    • 検知: オリジン競合検知(タイムスタンプベース)、行バージョニング、または列レベル競合検知(CLCD)を使用します。
    • 解消: デフォルトは「最終更新優先(update_if_newer)」です。また、データ損失なしに同時書き込みデータをマージするCRDT(Conflict-free Replicated Data Types)や、コミット前に競合トランザクションを中止するEager Replicationもサポートしています。
  • グローバルロック: クラスタ全体でスキーマ変更を安全に行うための分散DDL(データ定義言語)ロック機能です。
  • グローバルシーケンス: SnowflakeIDおよびGallocシーケンスにより、常時ノード間通信を行うことなく、分散ノード間で一意のIDを生成します。
  • 自動パーティショニング (AutoPartitioning): 時間やサイズに基づいてテーブルパーティションの作成と削除を自動的に管理します。

3. 利点とユースケース (Benefits and Use Cases)

  • 高可用性と回復力: PGDは、データ損失なしに単一ノードの障害やデータセンター全体の停止に耐えられるように設計されています(適切なコミットスコープを使用)。PGDソフトウェアおよびPostgreSQLメジャーバージョンの両方でゼロダウンタイムアップグレード(ローリングアップグレード)をサポートしています。
  • マルチマスターレプリケーション: 異なるリージョンの複数のノードへの書き込みを可能にし(Expandedエディション)、ローカルユーザーのレイテンシを削減します。
  • 読み取りスケーラビリティ: サブスクライバー専用ノード(Subscriber-only nodes)を追加することで、主要なトランザクションノードから読み取り負荷の高いワークロードをオフロードできます。
  • データ主権: 地理的に分散したアーキテクチャにより、地域の規制に準拠するために特定のデータを特定のリージョンに保持することが可能です。
  • 運用の簡素化 (Essential): PGD Essentialは、競合管理の複雑さを伴わずにHAを必要とするユーザー向けに、簡素化された構成(単一の書き込みリーダー)を提供します。

4. PGD 6.2の新機能
リリース6.2は、より新しいデータベースバージョンのサポート、セキュリティの強化、使いやすさの向上に焦点を当てています。

  • Postgres 18のサポート: PostgreSQL 18、EDB Postgres Extended 18、およびEDB Postgres Advanced Server 18のサポートを追加しました。
  • Connection Managerの強化:
    • LDAP認証のサポートを追加しました。
    • ルーティングロジックを改善し、リーダー変更やルーティング更新中に既存のクライアント接続が切断されないようにしました。
    • 暗号化されたサーバー側証明書をサポートしました。
  • 透過的データ暗号化(TDE)の採用: CLIツール(pgd node setupおよびpgd node upgrade)にTDEを簡単に有効化するオプションが含まれました。これにより、単一のコマンドで非TDEノードをTDEノードに変換できます。
  • CLIの改善:
    • pgd node part(ノード離脱)コマンドを強化し、ノードの名前変更(名前を再利用可能にするため)および離脱操作のバックグラウンド実行が可能になりました。
    • bdr.writersおよびbdr.stat_receiver_transactionsに新しい詳細な監視カラムを追加しました。

日本語マニュアルを見る
※ 日本語マニュアルの閲覧には ユーザー登録(パスワード)が必要です。