postgresql相關開源軟體及架構簡介

sqysl發表於2016-06-17

1、PgBouncer
PG資料庫的一個輕量級連線池工具,功能及特點如下:
1)快取後端PG資料庫的連線,當前端應用請求時,分配連線池中的連線給應用,從而充分利用了系統資源。
2)允許應用建立比連線池更多的連線,並未應用連線提供排隊等候功能,這樣既充分利用了資源,也保證了應用端的高併發。
3)可以對應用連線進行限制,這樣,可以起到系統穩定和安全作用。
4)PgBouncer的通訊效率非常高。
5)PgBouncer透過C語言實現,短小精悍,消耗很少的系統資源。
6)PgBouncer支援三種連線池模式:會話級別,事務級別,語句級別。
2、Slony-I
PG資料庫的一款邏輯複製工具,功能及特點如下:
1)Slony-I支援級聯複製,一個節點為訂閱者的同時,也可以作為下一級的資料提供者,資料的原始生產者對資料的修改,會在各級訂閱者之間傳播。
2)Slony-I叢集中的各節點上都需要有slon守護程式,以處理複製中的事件,例如:配置事件,同步事件。
3)Slony-I可以透過slonik工具進行管理和配置,其具備處理指令碼的能力。
4)Slony-I具備強大邏輯複製功能的同時,也有些限制,例如:大物件的複製,DDL複製,使用者許可權複製等。
3、Bucardo
PG資料庫的一款具備雙向同步功能的工具,功能及特點如下:
1)可以為PG實現雙master架構,5.0版本之前只能實現雙master同步,5.0版本之後可以實現多master同步。
2)該工具為非同步同步,這點和mysql的M-S同步很相似。
3)透過觸發器記錄變化,利用PG訊息事件通知機制實現同步。
4)同步靈活,可以只同步資料庫中的部分資料子集。
5)daemon為perl語言實現,還透過PL/PgSQL、PL/PerlU函式實現同步。
4、PL/Proxy
PG資料庫中實現水平拆分的軟體,功能及特點如下:
1)應用把請求傳送到該水平拆分中介軟體,該中介軟體根據拆分鍵的hash值,將SQL傳送至底層資料節點。
2)PL/Proxy架構中,一些PG資料庫作為水平拆分中介軟體,但其不儲存實際資料。除了這些中介軟體角色的PG庫,底層還有一些PG庫實際儲存資料。
3)PL/Proxy並不是獨立執行的程式,而是安裝在PG庫中的一種PL語言,其可以將請求路由到底層資料庫中。
4)對應用方請求的路由,透過對中介軟體和底層庫中同名函式的呼叫實現。
5、pgpool-II
位於PG伺服器和客戶端之間的中介軟體,功能及特點如下:
1)具備連線池功能。
2)可以在多個PG伺服器間進行復制。
3)可以在多個PG伺服器間進行了負載均衡。
4)限制超過限度的連線。
5)在多臺PG伺服器間進行並行查詢。
6)為多程式架構,包括:PCP程式,pgpool-II父程式,pgpool-II子程式,worker程式。
6、Postgres-XC
基於PG庫實現的真正的資料水平拆分的分散式資料庫,功能及特點如下:
1)相較其他水平拆分方案,Postgres-XC實現的更徹底,對使用者來說,Postgres-XC叢集就像單機資料庫一樣。
2)基於PG實現的叢集,是透過修改PG原始碼實現的叢集,而不是架構在PG資料庫之上的中介軟體。
3)PG客戶端及驅動可以無差別地連線到Postgres-XC上。
4)實現了全域性事務,做到了資料強一致性。
5)對稱叢集,無中心節點,應用可以讀寫任意節點。
6)線性擴充套件讀寫,透過增加節點,不僅可以擴充套件讀效能,還可以擴充套件寫效能。
7)隨著節點的增加,Postgres-XC效能增加接近線性。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-2120393/,如需轉載,請註明出處,否則將追究法律責任。

相關文章