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