Re: [SQL ] postgresql 8.1.4 cluster問題~

看板Database (資料庫)作者 (longtime)時間16年前 (2009/05/25 17:48), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串5/5 (看更多)
不太確定你所謂的 "負載量過大" 發生的瓶頸在那邊 I/O 方面的還是 CPU, Memory 方面的 另外分散流量 第1種方式是使用 PGCluster 他是 Synchronous Replication 的方式, 可以有效增加 Query 的速度 但若你的 DB 型態是屬於會有大量的寫入, 這部份對效能的增加就很有限, 甚至會拖慢速度 而第2種方式僅是一台主機上跑多個 PostgreSQL, 並不是 Cluster PostgreSQL 目前尚無完整的 Cluster 解決方案 大都是利用 Replication 的功能衍生出來 Pooling or LoadBalance 達成分散流量的需求 你可以比較一下 Oracle RAC (ShareDisk) 跟 PostgreSQL (ShareNothing) 這兩種對於 Cluster 實作的方法, 就可以知道為何 PostgreSQL 大部份都是用 Replication 的概念去實作 Cluster 若使用 Synchronous Replication 這種方式 (ex: pgcluster or pgpool-II) 讀取的效能可有效提升, 但寫入的部份就......蠻慘的 若是選擇 Asynchronous 的方法 (ex: Slony), 就會碰到資料不同步的狀況 若你對資料同步的要求相當高, 這種方式就不適合, 僅能拿來當作備援方案 所以說穿了總歸一句就是 -> 有一好就沒有兩好 建議你要先清楚定義你想要的東西, 並且確認你的 DB 屬性是哪一類 (讀取多還是寫入多或是其他類別?) 才可以知道有沒有適合的作法可以解決你的問題 另外推薦你兩個文件 http://tinyurl.com/c2n984 http://tinyurl.com/3kj2kw 希望對你有幫助 以上如有錯誤請不吝賜教 :) ※ 引述《Creationary (想想~)》之銘言: : 各位大大好~~~ : 因公司postgresql的負載量過大~~ : 必須分散流量~~ : 目前找到兩種方式如下: : 1.套件包 : http://www.betalog.com/read.php/423.htm : 需要一部主機一個postgresql嗎? : 我configure 沒問題,但是make時就不成功了~~ : 2.使用ubuntu 8.04原有套件 : http://blog.csdn.net/barfoo/archive/2008/10/29/3173693.aspx : 公司目前可使用的linux伺服器主機分別為ubuntu 8.04 i386、ubuntu 8.04 amd64 : WINDOWS主機:windows 2008 Server : 我有詢問過~~ : 1.套件包方式的話~用一台主機裝設多個postgresql來run cluster , : 得到的答覆是理論上不行~而且會增加cpu的負荷~~ : 但是~~第二種方法也是另建資料庫呀~~ : 且~~第二種方法的原理跟第一種的不大一樣的感覺~~ : 第一種是有建立Load Balancer和Replicator : 而第二種~~就只是建cluster,是嗎? : 想要詢問的是~~ : 哪種方式會能獲得最大的效益?~~ : 小女子感激不盡~~XDXD~ -- Long。Time。No。See 因為有你,所以我存在。 My Blog: http://longtime.pixnet.net/ Welcome!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.69.168

05/27 01:04, , 1F
pgclusterII 是用 shareDisk 作的.不過目前我只在文件上看過
05/27 01:04, 1F

05/27 12:28, , 2F
pgclusterII只有釋出文件跟一個Demo版本(跑起來有問題)
05/27 12:28, 2F

05/27 12:32, , 3F
其他的已經停止一段時間了....尚未看到後續的狀況
05/27 12:32, 3F

05/27 12:38, , 4F
只要能有效處理同步問題,sharenothing架構會是未來的走向
05/27 12:38, 4F

06/03 09:57, , 5F
現階段是寫入量大,但是跑到一定程度後就會變慢~~
06/03 09:57, 5F
文章代碼(AID): #1A6cbowT (Database)
文章代碼(AID): #1A6cbowT (Database)