盘点Greenplum 6.0六大新特性及展望
導讀:本文介紹Greenplum 6.0的新特性。
作者:王春波
來源:大數據DT(ID:hzdashuju)
Greenplum 6.0于2019年9月4日正式發布,內核版本從PostgreSQL 8.3升級到PostgreSQL 9.4,數據庫的功能和性能得到了巨大的提升,HTAP能力也得到了進一步加強。
除了內核版本升級,還增加了大量新特性,包括基于WAL日志的mirror同步、分布式死鎖檢測、復制表、在線擴容、磁盤限額、自動Master切換、Zstandard壓縮、GP-GP集群間高效查詢等。
01 Postgre SQL版本升級
Greenplum基于PostgreSQL 8.3(開發時的最新版本)已經有近10年的時間(PostgreSQL 8.3版本發布于2008年)。在此期間,PostgreSQL的演進速度是非常快的,尤其是在2015年之后,每年一個大版本的迭代更新,在性能和功能上都有重要的提升,各種特性層出不窮。
而這些特性卻無法在Greenplum上直接體現,原因在于,Greenplum是在PostgreSQL 8.3內核的基礎上修改代碼實現的,而不是類似CitusDB等采取了插件的方式。
Greenplum這樣設計的好處是,能夠充分修改優化器、執行器、事務、存儲等各個模塊,達到最優的效果。壞處也很明顯:與PostgreSQL社區長期脫節,無法充分利用社區紅利。
基于上述原因,在Greenplum中升級PostgreSQL版本是一件非常痛苦的事。隨著Greenplum的開源和越來越多PostgreSQL社區資深貢獻者的參與,Greenplum終于在6.0版本中完成了PostgreSQL內核的升級。
升級PostgreSQL內核,讓Greenplum實現了安全性、權限管理增強、JSONB、GIN索引、SP-GiST索引、并行Vacuum、CTE等用戶比較期待的功能。
02 HTAP性能大幅提升
這里所說的性能提升主要是PostgreSQL升級帶來的好處,PostgreSQL從8.3版到9.4版本積累了非常多的性能優化經驗,在OLAP和OLTP方面都有成倍的提升。
特別是原來比較弱勢的OLTP功能得到了大幅提升,單節點查詢達到80000TPS(Transactions Per Second,數據庫每秒處理事務數),插入操作達到18000TPS,更新操作約7000TPS(來自Greenplum官方測試數據)。
03 支持復制表
這是一個很實用的功能,可以用空間換時間。一個典型的應用場景就是維度表。這類數據表的特點是,數據量不大、很多查詢/分析都會與此關聯,導致這類表在查詢時經常被分發到各個節點中去。而采用復制表功能就不需要進行數據的移動和交換了,減少了網絡開銷和CPU開銷,顯著提高了查詢效率。
04 引入了在線擴容和一致性哈希
一致性哈希的引入,在一定程度上緩解了數據傾斜問題,更大的好處在于擴容更方便了。新版本的Greenplum在進行擴容時,無須停止數據庫服務,擴容不影響正在執行的查詢,擴容時只移動部分數據,擴容速度得到了大幅提升。
05 支持Zstandard壓縮算法
Zstandard是Facebook開源的壓縮算法,壓縮效率高,在性能和壓縮率之間取得了較好的平衡。
06 基于流復制的全新高可用機制
復制是PostgreSQL連續研發多年的功能,在高可用、備份、恢復(到時間點)等諸多場景中必不可少,提供了非常高的靈活度。
除了上述影響比較大的新特性之外,Greenplum 6.0還支持Kubernetes、磁盤配額管理、Master節點自動Fail-Over機制等新開發或者持續完善中的功能。
總結完Greenplum 6.0的新特性,我們對Greenplum 7.0充滿了期待。Greenplum 7.0會將PostgreSQL升級到PostgreSQL 12,在查詢優化器增強、向量執行引擎、多核性能提升等方面都會有較大的提升。
Greenplum 7.0最重要的特性就是向量執行引擎,這也是用戶最期待的特性。向量化執行已經在ClickHouse和DorisDB中實現,展現了強大的性能優勢。向量化執行可以提高CPU的利用率,提升Greenplum單個Segment實例的查詢性能,對并發較低、低延遲要求高的查詢場景有較明顯的提升。
除此之外,多階段聚合、支持復制多副本、支持Upsert(更新與插入的合并操作)等功能也將進一步增加Greenplum數據庫的HTAP性能。
關于作者:王春波,資深架構師和數據倉庫專家,現任上海啟高信息科技有限公司大數據架構師,Apache Doris和openGauss貢獻者,Greenplum中文社區參與者。具有十多年的數據倉庫、數據集市、數據中臺項目實戰經驗,對大數據主流技術架構、產品選型與解決方案有深入研究,尤其擅長用優雅的SQL實現復雜的邏輯。?
本文摘編自《高效使用Greenplum:入門、進階與數據中臺》,經出版方授權發布。(ISBN:9787111696490)
《高效使用Greenplum:入門、進階與數據中臺》
點擊上圖了解及購買
轉載請聯系微信:DoctorData
推薦語:資深數據架構師和數倉專家10余年經驗總結,全面、深入講解Greenplum以及如何用它構建數倉和數據中臺。
刷刷視頻👇
干貨直達👇
未來 5 年,數據中臺將有這 5 個重要趨勢
盤點8個數據分析相關的Python庫(實例+代碼)
終于有人把ROS機器人操作系統講明白了
6個實例,8段代碼,詳解Python中的for循環
更多精彩👇
在公眾號對話框輸入以下關鍵詞
查看更多優質內容!
讀書?|?書單?|?干貨?|?講明白?|?神操作?|?手把手
大數據?|?云計算?|?數據庫?|?Python?|?爬蟲?|?可視化
AI?|?人工智能?|?機器學習?|?深度學習?|?NLP
5G?|?中臺?|?用戶畫像?|?數學?|?算法?|?數字孿生
據統計,99%的大咖都關注了這個公眾號
👇
總結
以上是生活随笔為你收集整理的盘点Greenplum 6.0六大新特性及展望的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 50年来最具影响力的十大编程语言
- 下一篇: 终于有人把正态分布和二八法则讲明白了