1. 程式人生 > >Postgres-XL 數據庫

Postgres-XL 數據庫

特性 減少 應用 分布式存儲 storm all nod transacti 交互

Postgres-XL是一個大規模並行數據庫,建立在PostgreSQL 9.5之上,與PostgreSQL 9.5高度兼容。它的不同之處在於它同時支持商業智能工作負載和高容量事務寫入和讀取工作負載。

Postgres-XL是一款開源的PG集群軟件,XL代表eXtensible Lattice,即可擴展的PG“格子”之意,以下簡稱PGXL。官方稱其既適合寫操作壓力較大的OLTP應用,又適合讀操作為主的大數據應用。它的前身是Postgres-XC(簡稱PGXC),PGXC是在PG的基礎上加入了集群功能,主要適用於OLTP應用;PGXL是在PGXC的基礎上的升級產品,加入了一些適用於OLAP應用的特性,如 Massively Parallel Processing (MPP)特性。通俗的說PGXL的代碼是包含PG代碼的,使用PGXL安裝PG集群並不需要單獨安裝PG。這樣帶來的一個問題是無法隨意選擇任意版本的PG,好在PGXL跟進PG較及時,目前最新版本Postgres-XL 9.5 R1.3,基於PG 9.5。

技術分享圖片

組件簡介:
Global Transaction Monitor (GTM)
全局事務管理器,確保群集範圍內的事務一致性。 GTM負責發放事務ID和快照作為其多版本並發控制的一部分。
集群可選地配置一個備用GTM,以改進可用性。此外,可以在協調器間配置代理GTM, 可用於改善可擴展性,減少GTM的通信量。

GTM Standby
GTM的備節點,在pgxc,pgxl中,GTM控制所有的全局事務分配,如果出現問題,就會導致整個集群不可用,為了增加可用性,增加該備用節點。當GTM出現問題時,GTM Standby可以升級為GTM,保證集群正常工作。

GTM-Proxy
GTM需要與所有的Coordinators通信,為了降低壓力,可以在每個Coordinator機器上部署一個GTM-Proxy。

Coordinator
協調員管理用戶會話,並與GTM和數據節點進行交互。協調員解析,並計劃查詢,並給語句中的每一個組件發送下一個序列化的全局性計劃。
為節省機器,通常此服務和數據節點部署在一起。

Data Node
數據節點是數據實際存儲的地方。數據的分布可以由DBA來配置。為了提高可用性,可以配置數據節點的熱備以便進行故障轉移準備。

總結:gtm是負責ACID的,保證分布式數據庫全局事務一致性。得益於此,就算數據節點是分布的,但是你在主節點操作增刪改查事務時,就如同只操作一個數據庫一樣簡單。Coordinator是調度的,將操作指令發送到各個數據節點。datanodes是數據節點,分布式存儲數據。

家族歷史:

Postgres-XL和Postgresql-XC
1994年,Postgre95發布,開源。
1996年,PostgreSQL繼承了Postgre95,發布。
2010年,Postgres-XC發布。
2012年,前PGXC核心開發者創建StormDB公司,進行了一些改進,包括對MPP並行化的性能改進和多租戶安全。
2013年,TransLattice收購了StormDB。
2014年,將項目開源,命名為Postgres-XL。

Postgres-XL 數據庫