天天看點

mysql postgresql開源協定_postgresql相關開源軟體及架構簡介

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性能增加接近線性。