Postgres-XL 資料庫
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。