Postgresql
同步兩個(或更多)PostgreSQL 9.1 集群
這個問題假設使用 PostgreSQL 9.1。
假設我有兩個 PostgreSQL 數據庫集群。每個集群包含三個 PostgreSQL 伺服器。一個主伺服器,一個通過同步複製同步的從伺服器和一個備用同步複製伺服器。一個集群託管在倫敦,另一個集群託管在東京。
我有一個網路應用程序,可將使用者定向到離他們最近的伺服器。所以我有兩個正在執行的網路應用程序實例。每個都直接連接到其中一個 PostgreSQL 集群。保持兩個 PostgreSQL 集群彼此同步的最佳方法是什麼?我知道我可以在倫敦和東京的兩個主伺服器之間進行同步複製,但這會在任何寫查詢之上增加很長時間,因為 PostgreSQL 伺服器必須等待來自遠端系統的響應,這可能(充其量)可能為整個操作增加另外 200 毫秒的延遲。
有沒有人有任何解決這個問題的建議?
感謝您的任何幫助 :)。
**編輯:**如果答案考慮到我可能希望擴展系統以包含第三個或第四個 PostgreSQL 集群這一事實,那就太好了。我迷失了處理這麼多不同集群之間同步的最佳方式。
目前 PostgreSQL 核心中沒有任何可以幫助解決此問題的內容,但正在進行的工作可能會使其成為 9.3 版,它可能會在 2013 年夏天發布。如果你等不及了,第三方提供了許多解決方案。根據您的描述,Bucardo聽起來可能是最合適的。
Postgres-XC是最近發布的生產版本 1.0 的一個新選項。這是一項令人興奮的技術,但如果您有一個穩定的生產環境,您可能只想暫時關注它;目前它非常“前沿”,他們還沒有弄清楚如何在那個環境中整合普通 PostgreSQL 的所有特性。