《FastData DLink 實時湖倉引擎架構設計與落地實踐-楊維亮 .pdf》由會員分享,可在線閱讀,更多相關《FastData DLink 實時湖倉引擎架構設計與落地實踐-楊維亮 .pdf(40頁珍藏版)》請在三個皮匠報告上搜索。
1、FastData DLink 實時湖倉引擎架構設計與實踐滴普科技 DLink SE/楊維亮 Will自我介紹楊維亮Deepexi-FastData產品線-DLink SE 專注于大數據與數據庫內核領域。曾在華為2012實驗室高斯部參與自研分布式內存數據庫的架構設計與開發。對分布式架構、數據庫內核、云原生數倉有深入的理解和實踐 當前負責DLink產品的架構設計以及核心技術的預研工作目錄 1)DLink 架構介紹2)DLink 核心功能3)DLink 落地實踐4)DLink 未來規劃DLink 架構介紹DLink 產品架構開放數據格式多級分區流批一體引擎OLAP引擎(聯邦查詢/多維分析/物化視圖)
2、用戶空間數據分析數據探查存儲層技術元數據計算層服務層索引數據集成 DCT數據開發文件/塊緩存加速層語義緩存中間結果緩存索引緩存冷熱加速數據源業務庫API/SDK圖形/視頻/音頻物聯網IOT事件流數據工程師數據分析師BI報表數據科學機器學習DLink 實時湖倉引擎分析和應用云端S3/OSS統一Catalog數據安全/權限分享服務DLink 實時湖倉架構計算引擎計算引擎FlinkFlinkODSAPP可視化BI報表自助分析數據源業務庫APP應用物聯網IoT統一存儲引擎 IcebergIcebergDWDDWS實時獲取+事件訂閱湖倉實時/流式 join 分鐘級數據延遲開發/建模CDC匯總計算ELTC
3、DCFlinkFlinkFlinkFlink數據集市實時數倉/離線數倉 分析引擎分析引擎/緩存層緩存層TrinoTrinoAlluxio Local CacheFlinkCDCETL/AdhocDLink 產品關鍵特性產品功能特性產品功能特性核心技術特性核心技術特性統一元數據管理統一元數據管理統一工作空間統一工作空間基基 于于 使使 用用 場場 景景項目空間管理項目空間管理數據探索數據探索數據開發數據開發數據科學數據科學即席數據查詢即席數據查詢作業管理作業管理統一元數據視圖,集成大規模元數據管理,表和分區的元數據通過統一接口訪問、持久化;使用高性能表格管理,可向多計算引擎添加表租戶/項目空間級
4、別catalog管理;可用SQL創建和管理表單;支持Flink、Trino、Iceberg等多種引擎和表格式支持Oracle、MySQL、PostgreSQL、Hive等20+異構數據源的接入與集成支持用戶自定義和管理connector異構數據源接入異構數據源接入機器學習(Python,R,各種機器學習庫)強SQL標準支持(Spark SQL、Flink SQL、HiveQL等)其他工具(BI工具、IDE等)統一存儲管理統一存儲管理支持結構化、半結構化、非結構化數據存儲;實現EB級的大規模存儲部署;內置包括S3/OSS/HDFS/OBS的多模態的存儲系統與分級存儲,深度整合各類云存儲運維監控運
5、維監控權限管理權限管理數據源管理數據源管理可以創建多個項目,為每個項目分配單獨的資源和權限,管理數據源鏈接,多個項目間資源和權限完全隔離提供通用運維監控能力,支持通過WEB、外接消息機制對故障進行告警的能力,以及是否能夠以日志記錄告警信息可通過權限模板或單獨授權的方式,批量或單獨給成員授予操作及數據權限支持Oracle、MySQL、PostgreSQL、Hive等20多種異構數據源接入與集成管理提供數據視圖功能,顯示數據源數據schema信息、字段統計信息及相關數據樣例,為用戶提供數據源探查功能提供可視化DLink SQL作業提交和任務管理能力。支持在數據流上執行類SQL任務,SQL能力至少包
6、括:過濾、轉換、基于窗口的計算能力、提供窗口數據的統計能力、關聯能力、流數據的拆分與合并提供可視化算法開發界面,支持模型訓練及快速測試和學習支持即席數據查詢功能,支持多catalog的聯邦查詢,并可以JDBC、HTTP等方式支持數據分析結果輸出支持3種作業類型:SQL 作業、JAR 作業、ETL 作業。支持在每個項目空間內提供創業作業、作業管理、作業包上傳等功能??蔀樽鳂I配置CPU及內存資源湖倉一體、流批一體、存算分離DLink 核心功能0.DLink 優于開源的功能Z-Order 數據排序BloomFilter 索引Hive存量數據快速遷移Iceberg CDC 能力小文件合并性能優化隱藏分
7、區/計算列Catalog熱加載local data cache支持多租戶物化視圖數據加密iceberg 維表 UI界面Flink 引擎多版本流批一體整庫入湖算子調優CBO優化在多維數據分析場景下性能大幅提升在等值查詢和范圍查詢場景下性能大幅提升通過生成 Iceberg 元數據的方式對 Hive 歷史數據進行快速遷移,避免數據的拷貝和搬遷通過流讀Iceberg變更數據構建實時數倉主要針對 equality-delete文件合并資源占用過高問題進行優化支持 Flink 在Iceberg上創建帶有計算列/隱藏分區的表支持基于 Iceberg 的維表存儲支持基于 iceberg 統計信息進行查詢執行計
8、劃的優化優于開源Iceberg優于開源Trino優于開源Flink優化 I/O 密集型 query 的性能支持動態加載catalog基于IAM和Ranger的多租戶能力支持物化視圖動態刷新支持數據masking和文件級加密數據權限支持庫、表和字段級數據權限數據連接界面集成了作業提交、管理運維、數據視圖Metrics等能力支持 Flink1.12-1.14 版本Flink 支持以SDK調用方式,提供批式任務被調度能力支持整庫數據入湖,提升入湖效率支持 Flink 算子自動調優、算子拆分和算子并發Flink 支持基于Yarn和K8S的資源調度支持豐富的數據源connector支持Yarn/K8S0
9、.DLink 開源貢獻總PR個數:48總Contributor數:14 PR:31Contributor:9 ApacheIceberg PR:13Contributor:3 ApacheHudi PR:4Contributor:2 Trino 1.Iceberg:Z-Order索引(原理)Z-Order在Iceberg中的應用,本質上是一種數據組織優化,將多維數據按照一維映射進行排序,實現Data Skipping的效果,優化Iceberg的min-max索引。如何多維映射到一維?二維點位(4,3)轉換成bit(100,011)交叉處理:100101排序Note:所有類型都轉換成8個byte
10、s。符號位取反,取反后的正數也始終大于負數。不會持久化z-address,不需要維護索引文件,查詢時也不會 計算z-address,借助Iceberg的min-max索引過濾文件。1.Iceberg:Z-Order索引(實現)RewriteDataFiles.Result result=basicRewrite(table).curveOptimize(zCols).option(CurveOptimizeStrategy.REWRITE_ALL,true).execute();集成到spark rewrite任務,兼容所有配置參數。DataFrame按照z-address直接排序的方式重寫數據。2.Iceberg:BloomFilter索引支持ORC、Parquet格式的bloom filter,以Parquet格式為例,bloom filter的讀寫過程:要點:Bloom Filter只適用于:=、IN、NotNull這些等值表達式,對于常見的Range過濾,比如,=,湖倉一體場景 Flink/Trino -流批一體增強 Trino -分析性能優化3.產品落地實踐:某大型服飾集團:實時入湖、實時開發、湖倉底座4.未來規劃:湖倉一體:結構化/非結構化數據管理 增強分析:MV/Semantic Cache 組件開源:實時存儲、實時開發技術交流群社區公眾號