天天看點

探索極緻資料分析性能!柏睿資料RapidsDB查詢性能優化之道

作者:柏睿資料官方
探索極緻資料分析性能!柏睿資料RapidsDB查詢性能優化之道

資料分析引擎是數字經濟時代的新動能,但很多資料分析引擎無法滿足實時處理大規模資料的性能要求。

柏睿資料從“根技術”自主研發的全記憶體分布式資料庫RapidsDB,通過記憶體存儲、MPP并行計算、動态查詢優化和即時編譯等查詢性能優化技術,為企業提供全球領先的資料處理和分析能力,建構高性能、安全合規、自動化的資料洞察數字化平台,靈活滿足企業多元傳遞場景的實時資料分析與海量資料高效管理需求。

目錄

一、背景

二、技術原理與實踐

1、RapidsDB技術架構

2、記憶體存儲架構

3、MPP引擎

4、動态查詢優化技術

5、即時編譯技術

6、聯邦查詢

三、應用實踐與收益

四、未來展望

背景

作為國家重大發展戰略,數字經濟越是發展,資料的價值越為突出。如何充分挖掘資料價值成為核心任務之一,其中在資料處理這一“價值變現”的關鍵環節,必然要解決如何處理超大規模量級的資料,以及如何将大規模資料進行實時高效分析和應用等問題,此時則需要強大的資料分析引擎來支撐。可以說,資料分析引擎将是數字經濟時代的新動能,并助力實體經濟高品質發展。

數字化轉型中的企業要成為優秀的數字化組織,同樣需要具備實時高效、靈活易用、可擴充的資料分析基礎設施,進而充分發揮資料價值,形成業務資料化和資料業務化的驅動閉環,更好地實作智能商業決策、生産經營優化及産品和服務創新。但很多資料分析引擎因受限于低效的磁盤I/O、不合理的執行計劃,單機的處理能力上限等因素,無法滿足企業實際業務場景中實時處理和分析大規模資料的性能要求。

為助力數字經濟高品質發展、加速企業數字化轉型,柏睿資料打造具有完全自主知識産權的全記憶體分布式資料庫RapidsDB,做到了極緻的資料處理和分析性能。通過記憶體存儲、MPP并行計算、動态查詢優化和即時編譯等查詢性能優化技術,突破了資料庫諸多性能瓶頸,建構性能全球領先、安全合規、自動化的資料洞察數字化平台,靈活滿足多元傳遞場景的實時資料分析與海量資料高效管理需求。

探索極緻資料分析性能!柏睿資料RapidsDB查詢性能優化之道

柏睿資料RapidsDB與常見資料分析引擎性能對比

如上圖,在某國有大型銀行招标測試的TPC-H SF100測試上,柏睿資料RapidsDB在各場景的性能測試中,整體性能較諸多常見資料分析引擎大幅領先。從總執行時間上可看出,柏睿資料RapidsDB在100G的TPC-H資料集上查詢性能是常見查詢引擎的至少8倍。

技術原理與實踐

RapidsDB是柏睿資料新一代資料智能産品體系中的核心算力引擎,基于全記憶體分布式架構,全面對标Spark計算引擎,幫助企業建立大規模實時資料高效處理與分析平台。

01 RapidsDB技術架構

RapidsDB技術架構由管理工具子產品、接口子產品、分布式計算與存儲叢集子產品和資料聯邦子產品組成。

探索極緻資料分析性能!柏睿資料RapidsDB查詢性能優化之道

RapidsDB技術架構圖

  • 管理工具子產品提供管理支援

使用者可以使用RapidsDB的Manager工具,簡單便捷地完成RapidDB的安裝、部署、監控和運維;同時可以使用RapidsShell工具,在指令行上對RapidDB進行操作和使用。

  • 接口子產品提供對外接入的入口

提供Java、Python等主流語言的驅動程式,使用者可以使用多種程式設計語言,通過标準的驅動API完成對資料庫的接入操作。

  • 分布式計算與存儲叢集提供查詢計算和資料存儲

使用者的操作請求通過驅動傳遞到存儲與計算叢集,存儲與計算叢集完成對使用者請求的高性能的解析、優化、執行和響應。

  • 資料聯邦子產品提供聯邦查詢服務

聯邦子產品通過可插拔的連接配接器接入20+異構資料源,靈活實作跨資料源的查詢、分析、聚合等操作。

柏睿資料RapidsDB采取的查詢性能優化手段具體如下。

02 記憶體存儲架構,提升I/O速度

RapidsDB采用記憶體存儲架構,能夠做到納秒級的讀寫性能,遠超微秒級磁盤讀寫性能幾十萬倍。RapidsDB存儲引擎Moxe的資料以堆外記憶體來存儲,一方面可以利用記憶體本身的高效讀寫性能,另一方面堆外記憶體無需垃圾回收,可以減少垃圾回收器的停頓時間,進而提升程式性能。

03 MPP引擎,橫向擴充計算性能

RapidsDB使用MPP架構(大規模并行處理架構),在計算時可以将一個查詢任務拆分成多個并行執行的小任務,并分發給MPP叢集中的多個節點來執行,進而有效提升任務、算子執行的并行度,提高RapidsDB的查詢性能。

04 動态查詢優化技術,智能優化查詢計劃

動态查詢優化技術是柏睿資料獨立自主研發的技術,已獲美國授權專利。它使用一種叫做代價預估的機制,對于每一個執行計劃、執行子計劃、算子給出基數假設,通過在執行中最終基數的回報來動态地調整最初的基數,輔以機器學習的方法來提升基數估算的準确度。這些評估調整的基數用于幫助 RapidsDB 确定操作符的執行順序、确定查詢中JOIN的順序、指導RapidsDB拆分任務、預計算及緩存資料。

随着RapidsDB運作的越久,對執行計劃、執行子計劃、算子的基數假設就會越精準,那麼基于基數所做決策的效率就會越高。

05 即時編譯,特殊代碼生成提速查詢執行

RapidsDB使用Lambda Flow與記憶體存儲引擎相結合,在查詢執行階段通過即時編譯提高執行效率。

RapidsDB的Lambda Flow利用即時編譯技術(JIT Compiler),在查詢時将頻繁執行的方法進行特殊代碼生成,再編譯為機器代碼,提升執行效率。例如,針對WHERE條件判斷、聚合運算等場景,RapidsDB計算引擎實時地将表達式的路徑編譯為具體代碼執行,在原過程中産生的大量不必要的調用和分支跳轉則都會被優化掉。

MOXE存儲層也做了相同的優化。針對特定的表結構,MOXE定制了讀取和解析元組的代碼。如在解析元組的流程中,根據表結構動态生成的代碼,無需做資料類型的重複判斷,隻需按照順序解析資料。另外,在擷取部分列時,實作直接根據對應偏移量提取資料,跳過不需要提取的列,進而降低計算及I/O開銷。随着處理的資料量增加,節省的計算及I/O量是驚人的。

06 聯邦查詢,零資料遷移

RapidsDB通過可插拔的聯邦連接配接器來完成對20餘種異構資料源的統一通路支援。聯邦連接配接器内置Oracle、MySQL、PostgreSQL、Hive、Kafka等連接配接器,能夠直接完成對相應資料源的實時接入、查詢、分析功能,無需資料遷移,大大提高了資料處理和分析效能。

此外聯邦連接配接器還支援跨資料源的連接配接查詢,能夠透明融合企業跨部門資料源的資料查詢分析,突破資料共享瓶頸,實作多方資料安全高效流通。

應用實踐和收益

随着企業上雲數字化轉型程序的加速,中國移動某專業公司持續助力雲計算産業發展和行業數字化轉型。與此同時,該公司的業務資料也迎來指數級增長,總存儲量高達百倍TB級别,同時業務場景也越來越複雜,由此對經營分析系統的資料庫查詢分析性能提出了更高要求。經過科學評估和測試,最終選擇柏睿資料RapidsDB來替代原有基于磁盤架構的資料庫MySQL。

探索極緻資料分析性能!柏睿資料RapidsDB查詢性能優化之道

柏睿資料RapidsDB叢集部署

該公司在其經營分析系統上部署了一主兩從的三節點柏睿資料RapidsDB叢集,基于RapidsDB無磁盤IO、高并發、高可擴充性、低延時以及高速存取等核心優勢,滿足了資料查詢性能提升、資料架構精簡和資料融合等實際業務場景需求,實作TB級資料秒級響應,資料查詢分析效率整體提升約200倍,同時降低了資料庫開發、運維和更換建設成本,助力該公司切實高效地激活資料要素潛能,加速全方位雲化轉型。

探索極緻資料分析性能!柏睿資料RapidsDB查詢性能優化之道

柏睿資料RapidsDB與原有資料庫的查詢性能對比

未來展望

在與新一代硬體、雲計算技術、人工智能等技術的交彙融合下,資料庫技術架構正在持續疊代更新。同時根據Gartner技術報告分析,In-DBMS Analytics庫内分析技術将是資料庫技術主流發展趨勢;未來,從資料産生、內建、模組化、執行、管理均在同一平台完成,甚至完全可将分析模組化的工作轉移到庫中。

基于“資料智能”核心技術路徑,柏睿資料RapidsDB未來将朝着如下技術發展方向不斷演進,助力企業從智慧資料中創造業務新價值。

  • 庫内人工智能:RapidsDB已經可以使用UDF的方式支援庫内推理,未來将提供在資料庫内的模組化、訓練、預測等功能,通過領先的人工智能技術為企業提供更加實時的資料處理、更深入的資料洞察和更精确的決策支援。
  • 索引優化技術:通過建立大量查詢索引來為每個表提供技術支援,以實作每個查詢都能命中索引,以空間換時間的方式提高查詢性能。
  • 融合新型存儲硬體和新一代非易失性記憶體(NVM)技術:将SSD、NVMe驅動器等新型存儲硬體與NVM技術相結合,實作更大的存儲容量和更好的I/O性能,更好地處理大規模的資料集和更複雜的應用程式,并確定資料在系統故障或斷電等情況下不會丢失。
  • 多雲靈活部署:目前RapidsDB已滿足在阿裡雲、華為雲等公有雲上部署,支援虛拟化、雲原生的私有化部署,未來将更好地支援雲原生、自動化部署和管理、彈性擴縮容等功能。

作者:柏睿資料RapidsDB研發負責人 丁若冰

繼續閱讀