2017云栖大会门票转让_「揭秘GP」云栖大会 | Greenplum 6.0 内核优化解读和7.0展望...
9月25日,云棲大會在杭州阿里巴巴云棲小鎮正式拉開序幕,三天會議期間,共吸引了200多位世界級科學家、400多家科技合作伙伴參與,科技展區面積超過3萬平方米,共發布了1000多項頂尖技術。
云棲大會現場
在此次云棲大會上,《下一代云數據分析專場》是此次云棲大會最火爆的專場之一,會場站滿了參會人員,門口排隊入場的人員人頭攢動。在專場中,眾多數據庫專家深入介紹了云端數據分析的技術內幕,帶來了基于云構建企業最佳分析架構解決方案的精彩分享,并深入剖析了云分析解決方案的優勢和挑戰。
《下一代云數據分析專場》 現場
Greenplum 研發總監,中文社區發起人姚延棟先生也在此專場發表了演講《全新的Greenplum 6.0內核優化解讀和7.0展望》,并得到了一眾好評。
姚延棟在云棲大會上發表演講
9月4日發布的 Greenplum 6.0 版本在功能和性能上都有了大幅提升,在并發性上的改進尤為顯著,對OLTP型和混合負載業務的支持更為強大,是 Greenplum 發展的重要里程碑。
在演講中,姚延棟先以一個數據庫開發者的角度詳細解讀了6.0內核中的新技術。內核的第一個重大改進是 Greenplum 內核的升級。Greenplum 是基于 PostgreSQL 的MPP數據庫。2005年研發之初時其內核版本是 PostgreSQL 7,2017年發布的Greenplum5之前一直是PostgreSQL 8.2版本。2015年 Greenplum 完成了開源并啟動了內核升級的項目。于2017年9月發布的 Greenplum 5.0 中,其內核版本已經升級到了8.3。
由于一開始做了大量的重構和清理工作,隨后的內核版本升級速度進入了快車道。Greenplum 在去年一年就完成了6個大版本的內核升級,集成了來自于 PostgreSQL 社區的約14000次代碼提交,融合了社區近10年來的工作,升級速度驚人,升級到9.3版本僅僅花費2周時間,近期剛剛完成了 PostgreSQL 9.5 內核的升級工作,9.6的合并工作也已經啟動,目前已經完成了約一半的工作。Greenplum 的基礎(“骨骼”)變得越來越堅實可靠。
第二個內核特性是 TP 查詢性能大幅提升,我們內部在 GCP 上測試TPCB 提升約 70倍。這一重大突破是如何完成的呢?
第一個要素來自于全局死鎖檢測(GDD),該技術在美國申請了專利,但最終全部開源。老版本上 update 使用的是表鎖,性能較差,通過全局死鎖檢測技術,降低為行級鎖,性能大幅提升。GDD的基本邏輯是收集每個 segment 鎖依賴關系圖,在 master 上重建整個集群的鎖依賴關系圖,并檢測是否有環。具體實現細節可以參考 Greenplum 中文社區(greenplum.cn)上的設計文檔。
第二個要素是通過復制表完成的。復制表即每個segment都有表的全部數據,因而不需要網絡數據傳輸,還可使用索引。第三個要素是多核鎖優化。當通過測試發現高并發時,性能不增反降,然后通過多種方式定位到 procarray 鎖的競爭嚴重。Greenplum 中文社區( greenplum.cn)上有一篇文章詳細介紹了分析問題,發現原因并解決問題的整個過程。第四個要素是事務優化。只讀事務不需要分布式快照,也不需要2PC; 而單節點查詢也可以對兩階段提交進行優化。最后是內核升級,PostgreSQL 本身的性能在版本升級的過程中不斷提升,Greenplum 通過升級自然繼承了所有 PostgreSQL 升級帶來的優勢。
第三個內核特性是 Greenplum 6 引入了全新的高可用機制。Greenplum 5 是基于我們自研的Filerep技術,Filerep 基于文件塊 IO,代碼侵入大,不易于擴展。而 Greenplum 6 采用了 PostgreSQL 自身的日志流復制技術,網絡開銷低,代碼侵入性低,擴展型好,為將來做 DR、CDC、3副本打下了基礎。此外集群管理復雜度也大幅降低。
第四個內核特性是彈性,包括數據彈性分布、計算的彈性;這兩方面在 6.0 版本中都做好了基礎設施。除了彈性,6.0 版本中的數據分布策略也更靈活,默認根據數據類型的 hash 函數計算數據分布。6.0 中海支持自定義數據分布策略。
基于這些技術,Greenplum 6.0 版本實現了在線擴容,可以做到不停機,不停業務,并且通過一致性哈希,大幅降低數據移動量。
接著,姚延棟又從用戶的角度分析了 Greenplum 的新亮點特性。Greenpum 作為一個集成處理平臺,其功能遠遠超出了數據倉庫。6.0 的發布使得 Greenplum 成為一款企業級的 HTAP 數據庫。
作為一個集成平臺,Greenplum 具有很好的混合負載處理能力。在6.0中,經測試,TPCB 提高了70倍。單點插上,實驗環境中,SELECT 可達 14w/s,INSERT 4.6w, UPDATE 2.4w,這個性能可以滿足很多的 OLTP 場景。Greenplum 可以支持結構化數據、半結構化數據、非結構化數據,包括 JSON、KV、Text、GIS、時序、圖、圖像等。6.0版本對流數據也有很好的支持,包括流式加載,流式處理,和時序數據的分析。
數據量大而性能突出,這是 Volume;支持多樣化數據類型,這是 Variety;支持流式數據處理,這是 Velocity。這三點使 Greenplum 成為了理想的大數據處理系統。不僅僅是傳統意義上的 3V,Greenplum 可以做到大數據量下 OLTP 性能突出,而這是大部分大數據系統無法做到的。
在對混合負載的支持上,Greenplum 還具有其他支撐 HTAP 的技術,包括多模數據存儲、對包括并發度、CPU配額、CPU綁定、內存配額和磁盤配額在內的多種資源管理的支持,并提供了完善的安全特性。這些支持使得 Greenplum 可以滿足用戶使用一套系統支持全部 AP、TP和流式業務,避免復雜的ETL,維護多種產品,大大提高投入產出比。
世界之美在于多樣性。數據處理同樣也是。企業會和很多種數據相關技術打交道,這樣就需要數據融合、互聯互通。通過 Greenplum 的 FDW(外部表)技術可以直接訪問包括 Oracle、MySQL、PostgreSQL、ElasticSearch、Redis 等上百種外部數據源,且不需要數據移動。Greenplum 還開發了 PXF 框架實現對 Hadoop 生態的支持,目前 Greenplum 可以并行高效的訪問 HDFS、Hive、Hbase 的數據。數據格式支持 Json、Parquet、ORC 等。對于 Hive,還支持謂詞下推,從而大幅降低數據傳輸量,降低資源利用率,提高查詢性能。
Spark 幾年來很受關注,Spark 通過 JDBC 訪問 Greenplum 效率低下,為此 Greenplum 開發了高效并行的連接器,并支持謂詞下推。對于 Kafka,Greenplum 開發了 Kafka 連接器,支持 exactly once 語義,支持并行消息處理、窗口,多種數據類型,和多字節分隔符等。
在和用戶溝通時,我們發現大部分用戶都忽略了一些已經被 SQL 支持的高級特性,而花費很多時間自己裸寫代碼實現這些特性。SQL 標準一直在研發,99年加入了數據立方體、Grouping Sets;2003年加入窗口函數; 2016 年加入了JSON。使用這些特性可以極大的提高開發人員效率。
除了傳統的數倉, Greenplum 還通過 Apache 頂級開源項目 MADLib 實現了對數據庫內高級分析的支持。MADLib 提供了50多種機器學習算法,并為數據科學家提供了很多實用工具,譬如模型交叉驗證,工作流等。今年 madlib 開始支持AI深度學習,集成了 Tensorflow、teras 等,利用 GPU 的計算能力執行深度學習任務。
如果madlib不能滿足你的需求,Greenpum 還提供了2種方式讓用戶得以自行進行擴展。第一種方式是通過 Procedure Language(PL), 另一種方式則是為開發人員提供透明的計算能力,首先會支持R,這就是 GreenplumR 項目。 通過這個項目,R程序員可以對 SQL 的結果調用 R 的函數,整個過程對R開發人員透明,同時也可以獲得Greenplum提供的強大的并行計算能力。
下面的圖片列出了MADLib支持的50多種機器學習算法,涵蓋了監督學習,無監督學習等主要流行的算法。此外MADlib還支持 Graph 算法,提供了多個工具函數,數學計算函數,統計函數等。
下圖是 Greenplum 通過 MADLib 實現深度學習的框架圖,通過圖片可以看到在每個節點上都可以調用 Tensorflow、keras等進行模型的訓練。 Madlib 支持兩種模型訓練方式:1)一種是為每個segment 訓練一個模型;2) 為整個集群數據訓練單個模型。 第二種挑戰比較大,今年已經完成實現并發布。
Greenplum 在今年也實現了對 K8S 的原生支持,使用 K8S 的技術(譬如 CRD、operator等)可以對 Greenplum 進行安裝、部署、管理。整個操作可一鍵完成。
演講的最后,姚延棟對 Greenplum 7.0 的新功能進行了展望。 用戶可以在7.0中期待 Greenplum 對 HTAP、數據融合、高級 SQL特性、高級分析和 Kubernetes 更好的支持。內核上,Greenplum 也將對 PostgreSQL 繼續合并。
此外,包括容災,Greenplum 聯邦( 使得一個 Greenplum 集群可以高效并行的訪問另一個集群中的數據)等眾多新功能項目也在研發過程中。最后,用戶也可以在7.0中期待更出色的性能,其中物化視圖已經完成,向量化正在開發。后續會對并行執行、SIMD、GPU等方向做更多的探索和開發實現。
此次云棲大會上,Greenplum 大放異彩,新特性驚喜不斷。我們也期待 Greenplum 為大家持續帶來更多的驚喜。
云棲大會人頭攢動
總結
以上是生活随笔為你收集整理的2017云栖大会门票转让_「揭秘GP」云栖大会 | Greenplum 6.0 内核优化解读和7.0展望...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows编程一日一练(3)
- 下一篇: linux 远程调试文件夹,GDB远程调