歷時兩個月,Greenplum內核升級至PostgreSQL 9.6

歷時兩個月,Greenplum內核升級至PostgreSQL 9.6

Greenplum是基於PostgreSQL的MPP數據庫。2005年研發之初時Greenplum的內核版本是PostgreSQL 8,在2017年發佈的Greenplum 5之前一直是PostgreSQL 8.2版本。2015年Greenplum完成了開源,並啟動了內核升級的項目。於2017年9月發佈的Greenplum 5.0中,其內核版本已經升級到了8.3。

由於一開始做了大量的重構和清理工作,隨後的內核版本升級速度進入了快車道。Greenplum在去年一年就完成了6個大版本的內核升級,集成了來自於PostgreSQL社區的約14000次代碼提交,融合了社區近10年來的工作,升級速度驚人。

2019年9月4日Greenplum6.0北京首發和PostgreSQL內核升級至9.5之後,Greenplum內核研發團隊歷時兩個月完成內核 9.6 的升級。PostgreSQL 9.6 是 PostgreSQL 的一個重要里程碑,包含很多重量級特性,此次升級大大加強了 Greenplum 的總體能力,為Greenplum的持續穩定創新奠定全新基礎。

PostgreSQL 9.5 包含2,953個提交,新引入約17萬行代碼。簡要列出主要亮點特性

  • 查詢優化器增強:PostgreSQL 9.6 對優化器進行了重要重構,以支持並行執行等新特性。其中最主要的修改是對優化器上層算子(聚集、排序、分組等)使用 Path,這樣可以根據不同的算子路徑的cost選擇最佳路徑。
  • 並行執行:PostgreSQL 9.6 開始支持並行執行以提高單個查詢的性能,這將大大提升單個 Greenplum 查詢的性能,對併發較低,低延遲要求高的場景非常有用。根據CPU cores 的不同,期待OLAP性能有數倍提升(假設20個core,40個超線程,一臺主機4個primary,假設一計算密集型查詢有2個slices,在啟用並行執行後,可以充分利用全部cpu 20 個core 的算力,性能可有5倍提升:20*2 / 4 / 2)。目前這一特性默認是disabled,很快會enable此特性,期待 TPC-H 性能測試結果。
  • 多階段聚集:Greenplum 很早就支持了多階段聚集特性,PostgreSQL 9.6也開始支持多階段聚集。此次升級對這個特性進行了合併,對用戶的主要影響是 EXPLAIN 的輸出發生了變化。
  • 多核性能提升:PostgreSQL 9.6 包含對多核的重要優化,可以明顯提升查詢總體性能;此外sorting也進行了多項優化。
  • 同步複製支持多個副本
  • 全文檢索支持 phrase 查詢
  • FDW 支持 join、sort 下推,支持 UPDATE、DELETE

有關 PostgreSQL 9.6 的更多更新,請參考官方文檔(https://www.postgresql.org/docs/9.6/release.html)。

感謝 PostgreSQL 社區!感謝 Greenplum 團隊!


分享到:


相關文章: