概要
pgactive は、PostgreSQL用の アクティブ-アクティブレプリケーション拡張機能。 従来の アクティブ-スタンバイ構成 との違いと、利用ケースを整理。 論理レプリケーション 技術の役割とPostgreSQLの対応状況を解説。 アクティブ-アクティブ構成で発生する 課題 と設計上の注意点。 ライセンス やセキュリティ関連情報への参照も記載。
pgactive:PostgreSQLのアクティブ-アクティブレプリケーション拡張
- pgactive は、PostgreSQL向け アクティブ-アクティブ型データベース 構築用レプリケーション拡張
- データベース間で 変更内容を相互複製 する仕組み
- 主な用途
- 高可用性 の実現
- アプリケーションとデータソース間の レイテンシ削減
- 本番-テスト環境間 や インフラ移行 時のデータ移動
- PostgreSQL標準の アクティブ-スタンバイ型 レプリケーションとの違い
- アクティブ-スタンバイ: 単一インスタンスのみ書き込み可、他は参照専用
- アクティブ-アクティブ: 複数インスタンスで同時書き込み可能
アクティブ-アクティブ構成の特徴と課題
- アクティブ-アクティブ構成 では、クラスタ内の複数DBが同時に 書き込み受付 可能
- 単一の真実のソース が存在しないため、アプリケーション設計に 工夫が必要
- 主なユースケース
- マルチリージョン高可用性クラスタ
- アプリ-DB間の 書き込みレイテンシ低減
- Blue/Greenデプロイ 運用
- 双方書き込み可能なシステム間移行
- 設計時に考慮すべき課題
- 変更競合 の発生
- レプリケーション遅延
- 連番(シーケンス) など一部DB機能の制限
論理レプリケーションの役割
- 論理レプリケーション は、変更内容を 外部システムが解釈可能なデータ形式 で転送
- 受信側DBでの 競合検知・解決 や SQL変換 など柔軟な処理が可能
- PostgreSQL 10(2017年リリース)より ネイティブサポート
- アクティブ-アクティブ構成 実現には、追加機能が必要
- PostgreSQLの 拡張機構 により、pgactiveのような機能追加が可能
セキュリティおよびライセンス情報
- セキュリティ詳細 は、CONTRIBUTINGドキュメント参照
- ライセンス は、プロジェクト付属のLicenseファイル参照