PG数据库工具
1、PgBouncer
PG數(shù)據(jù)庫(kù)的一個(gè)輕量級(jí)連接池工具,功能及特點(diǎn)如下:
1)緩存后端PG數(shù)據(jù)庫(kù)的連接,當(dāng)前端應(yīng)用請(qǐng)求時(shí),分配連接池中的連接給應(yīng)用,從而充分利用了系統(tǒng)資源。
2)允許應(yīng)用創(chuàng)建比連接池更多的連接,并未應(yīng)用連接提供排隊(duì)等候功能,這樣既充分利用了資源,也保證了應(yīng)用端的高并發(fā)。
3)可以對(duì)應(yīng)用連接進(jìn)行限制,這樣,可以起到系統(tǒng)穩(wěn)定和安全作用。
4)PgBouncer的通信效率非常高。
5)PgBouncer通過(guò)C語(yǔ)言實(shí)現(xiàn),短小精悍,消耗很少的系統(tǒng)資源。
6)PgBouncer支持三種連接池模式:會(huì)話級(jí)別,事務(wù)級(jí)別,語(yǔ)句級(jí)別。
2、Slony-I
PG數(shù)據(jù)庫(kù)的一款邏輯復(fù)制工具,功能及特點(diǎn)如下:
1)Slony-I支持級(jí)聯(lián)復(fù)制,一個(gè)節(jié)點(diǎn)為訂閱者的同時(shí),也可以作為下一級(jí)的數(shù)據(jù)提供者,數(shù)據(jù)的原始生產(chǎn)者對(duì)數(shù)據(jù)的修改,會(huì)在各級(jí)訂閱者之間傳播。
2)Slony-I集群中的各節(jié)點(diǎn)上都需要有slon守護(hù)進(jìn)程,以處理復(fù)制中的事件,例如:配置事件,同步事件。
3)Slony-I可以通過(guò)slonik工具進(jìn)行管理和配置,其具備處理腳本的能力。
4)Slony-I具備強(qiáng)大邏輯復(fù)制功能的同時(shí),也有些限制,例如:大對(duì)象的復(fù)制,DDL復(fù)制,用戶權(quán)限復(fù)制等。
3、Bucardo
PG數(shù)據(jù)庫(kù)的一款具備雙向同步功能的工具,功能及特點(diǎn)如下:
1)可以為PG實(shí)現(xiàn)雙master架構(gòu),5.0版本之前只能實(shí)現(xiàn)雙master同步,5.0版本之后可以實(shí)現(xiàn)多master同步。
2)該工具為異步同步,這點(diǎn)和mysql的M-S同步很相似。
3)通過(guò)觸發(fā)器記錄變化,利用PG消息事件通知機(jī)制實(shí)現(xiàn)同步。
4)同步靈活,可以只同步數(shù)據(jù)庫(kù)中的部分?jǐn)?shù)據(jù)子集。
5)daemon為perl語(yǔ)言實(shí)現(xiàn),還通過(guò)PL/PgSQL、PL/PerlU函數(shù)實(shí)現(xiàn)同步。
4、PL/Proxy
PG數(shù)據(jù)庫(kù)中實(shí)現(xiàn)水平拆分的軟件,功能及特點(diǎn)如下:
1)應(yīng)用把請(qǐng)求發(fā)送到該水平拆分中間件,該中間件根據(jù)拆分鍵的hash值,將SQL發(fā)送至底層數(shù)據(jù)節(jié)點(diǎn)。
2)PL/Proxy架構(gòu)中,一些PG數(shù)據(jù)庫(kù)作為水平拆分中間件,但其不存儲(chǔ)實(shí)際數(shù)據(jù)。除了這些中間件角色的PG庫(kù),底層還有一些PG庫(kù)實(shí)際存儲(chǔ)數(shù)據(jù)。
3)PL/Proxy并不是獨(dú)立運(yùn)行的程序,而是安裝在PG庫(kù)中的一種PL語(yǔ)言,其可以將請(qǐng)求路由到底層數(shù)據(jù)庫(kù)中。
4)對(duì)應(yīng)用方請(qǐng)求的路由,通過(guò)對(duì)中間件和底層庫(kù)中同名函數(shù)的調(diào)用實(shí)現(xiàn)。
5、pgpool-II
位于PG服務(wù)器和客戶端之間的中間件,功能及特點(diǎn)如下:
1)具備連接池功能。
2)可以在多個(gè)PG服務(wù)器間進(jìn)行復(fù)制。
3)可以在多個(gè)PG服務(wù)器間進(jìn)行了負(fù)載均衡。
4)限制超過(guò)限度的連接。
5)在多臺(tái)PG服務(wù)器間進(jìn)行并行查詢。
6)為多進(jìn)程架構(gòu),包括:PCP進(jìn)程,pgpool-II父進(jìn)程,pgpool-II子進(jìn)程,worker進(jìn)程。
6、Postgres-XC
基于PG庫(kù)實(shí)現(xiàn)的真正的數(shù)據(jù)水平拆分的分布式數(shù)據(jù)庫(kù),功能及特點(diǎn)如下:
1)相較其他水平拆分方案,Postgres-XC實(shí)現(xiàn)的更徹底,對(duì)用戶來(lái)說(shuō),Postgres-XC集群就像單機(jī)數(shù)據(jù)庫(kù)一樣。
2)基于PG實(shí)現(xiàn)的集群,是通過(guò)修改PG源碼實(shí)現(xiàn)的集群,而不是架構(gòu)在PG數(shù)據(jù)庫(kù)之上的中間件。
3)PG客戶端及驅(qū)動(dòng)可以無(wú)差別地連接到Postgres-XC上。
4)實(shí)現(xiàn)了全局事務(wù),做到了數(shù)據(jù)強(qiáng)一致性。
5)對(duì)稱(chēng)集群,無(wú)中心節(jié)點(diǎn),應(yīng)用可以讀寫(xiě)任意節(jié)點(diǎn)。
6)線性擴(kuò)展讀寫(xiě),通過(guò)增加節(jié)點(diǎn),不僅可以擴(kuò)展讀性能,還可以擴(kuò)展寫(xiě)性能。
7)隨著節(jié)點(diǎn)的增加,Postgres-XC性能增加接近線性。
總結(jié)
- 上一篇: MODSCAN32的应用
- 下一篇: blockchain_eth客户端安装