自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PostgreSQL的幾種分布式架構對比

新聞 前端 分布式 PostgreSQL
Postgresql由于強大的功能和良好的擴展性,基于postgresql來做的分布式架構也比較多,大部分用于分析類場景,本文比較幾種常見的架構特點。

 

Postgresql由于強大的功能和良好的擴展性,基于postgresql來做的分布式架構也比較多,大部分用于分析類場景,下面比較幾種常見的架構特點。

Citus

Citus以插件的方式擴展到postgresql中,獨立于postgresql內核,所以能很快的跟上pg主版本的更新,部署也比較簡單,是現(xiàn)在非常流行的分布式方案。Citus在蘇寧有大規(guī)模應用,微軟也提供citus的商業(yè)支持。下面是citus的架構:

PostgreSQL的幾種分布式架構對比

Citus節(jié)點主要分為協(xié)調節(jié)點和工作節(jié)點,協(xié)調節(jié)點不存儲真實數(shù)據(jù),只存儲數(shù)據(jù)分布的元信息,實際的數(shù)據(jù)被分成若干分片,打散到不同worker節(jié)點中,應用連接協(xié)調節(jié)點,協(xié)調節(jié)點進行sql解析,生成分布式執(zhí)行計劃,下發(fā)到worker節(jié)點執(zhí)行,cn將結果匯總返回客戶端。

Ciitus的主要架構特點如下:

①有兩種表類型:參考表和分布表,參考表每個協(xié)調節(jié)點和worker節(jié)點都有一份完整的副本,分布表則會打散分布到不同worker中。

②可以進行讀寫分離,如上圖cn1為寫節(jié)點,可以通過再增加多個cn讀節(jié)點增加集群讀的能力,寫cn和讀cn之間使用流復制進行元數(shù)據(jù)同步。

③支持MX模式,可以將元數(shù)據(jù)也存在某些worker節(jié)點中,這樣使得該worker節(jié)點能夠直接提供寫的能力,以此增加集群寫的能力。

④底層worker節(jié)點可以通過流復制搭建副本,保證數(shù)據(jù)高可用。

⑤做join時最好的結果是能夠將計算下推到worker節(jié)點,但是只有在參考表和其他表做join以及兩個表的分布方式相同的情況下才能下推到worker計算,否則需要將數(shù)據(jù)拉到協(xié)調節(jié)點進行計算。

⑥整體架構類似mycat的中間件,因為沒有全局事務管理,故不能保證數(shù)據(jù)的實時讀一致性,但是性能上相比要好。數(shù)據(jù)寫一致性使用2pc來保證。

pgxc && pgxl

Pgxc是經(jīng)典的分布式數(shù)據(jù)庫架構,是真正的企業(yè)級HTAP,我們看到市面上很多分布式數(shù)據(jù)庫產(chǎn)品都是基于pgxc架構擴展而來。pgxc是和pg內核緊耦合的,是嵌入到pg內核中,最初pgxc的核心開發(fā)者將pgxc商業(yè)化,創(chuàng)建了stormdb,進行了一些并行算子優(yōu)化,后來TransLattice公司將stormdb收購,并且將項目開源,就是現(xiàn)在的pgxl,所以pgxc和pgxl是一脈相承的,大部分代碼是直接移植過來的。下面是pgxc的架構:

PostgreSQL的幾種分布式架構對比

其實這個架構和citus優(yōu)點類似,也是分為協(xié)調節(jié)點和數(shù)據(jù)節(jié)點,數(shù)據(jù)也是通過hash分布到不同數(shù)據(jù)節(jié)點上,只是在集群中增添了全局事務管理組件,保證全局事務的一致性。

pgxc的架構特點如下:

①gtm保證全局讀一致性,兩階段提交保證全局寫一致性。

②gtm是整個系統(tǒng)的瓶頸點,在超過150并發(fā)的情況下,gtm的瓶頸就會顯現(xiàn),每一個事務開啟都會去gtm取事務號和快照信息,造成gtm在網(wǎng)絡壓力和分配事務號速度上存在瓶頸。

③多個協(xié)調節(jié)點間需要同步元數(shù)據(jù)信息,如果協(xié)調節(jié)點失敗,不僅會造成ddl hang住,也可能造成兩階段事務的阻塞。

④pgxc的出現(xiàn)主要是在pg在oltp應用場景上的優(yōu)化,不管是新增gtm,還是數(shù)據(jù)一致性的保證上面都做得更加精細化。

⑤和citus類似,數(shù)據(jù)表也可以分為分布表和復制表,復制表在每一個數(shù)據(jù)節(jié)點都有一份全量數(shù)據(jù)。

Greenplum

Greenplum是pivotal公司推出的一款開源olap的mpp數(shù)據(jù)庫,greenplum的用戶在某種程度上甚至超越了pg,很多人可能是通過greenplum才認識的pg,可見greenplum的風靡。下面是greenplum架構:

PostgreSQL的幾種分布式架構對比

Master節(jié)點存儲全局系統(tǒng)元數(shù)據(jù)信息,不存儲真實數(shù)據(jù)。數(shù)據(jù)通過hash分布到不同的segment中,master作為sql的全局入口,負責在segment中分配工作負載,整合處理結果,返回客戶端。

Greenplum架構特點如下:

①master節(jié)點可以做主備,segment節(jié)點也有鏡像保證高可用,segment主備盡量混布到不同服務器上。

②支持行列混合存儲引擎,同時支持外部表。

③在join時也涉及到數(shù)據(jù)跨節(jié)點重分布的問題,這也是share nothing數(shù)據(jù)庫不可避免的問題。

④高速內部interconnect網(wǎng)絡,實現(xiàn)數(shù)據(jù)join時的高速移動和匯總。

⑤高效的數(shù)據(jù)并行加載。

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2022-03-06 21:43:05

Citus架構PostgreSQL

2022-06-16 07:31:15

MySQL服務器服務

2023-05-29 14:07:00

Zuul網(wǎng)關系統(tǒng)

2020-04-14 11:14:02

PostgreSQL分布式數(shù)據(jù)庫

2022-03-29 23:17:52

PostgreSQL集群Citus

2019-10-10 09:16:34

Zookeeper架構分布式

2022-03-21 19:44:30

CitusPostgreSQ執(zhí)行器

2023-03-01 08:07:51

2019-02-26 09:51:52

分布式鎖RedisZookeeper

2022-03-27 06:37:37

SQLPostgreSQL集群

2022-03-28 07:51:25

分布式定時任務

2018-12-14 10:06:22

緩存分布式系統(tǒng)

2022-03-21 06:45:22

PostgreSQL數(shù)據(jù)庫Citus

2019-06-19 15:40:06

分布式鎖RedisJava

2017-12-20 16:15:30

分布式系統(tǒng)架構

2018-04-03 09:27:42

分布式架構系統(tǒng)

2023-09-12 22:58:51

分布式架構微服務

2018-01-23 15:55:23

分布式系統(tǒng)架構

2013-05-13 10:30:26

分布式架構架構設計網(wǎng)站架構

2017-10-30 08:52:27

vSAN架構RAID
點贊
收藏

51CTO技術棧公眾號