《美團-宋洪鑫-高效保障數倉一致性:美團數倉智能構建與治理平臺的探索.pdf》由會員分享,可在線閱讀,更多相關《美團-宋洪鑫-高效保障數倉一致性:美團數倉智能構建與治理平臺的探索.pdf(29頁珍藏版)》請在三個皮匠報告上搜索。
1、高效保障數倉一致性-美團數倉智能構建與治理平臺的探索宋洪鑫 美團 高級技術專家個簡介宋洪鑫美團高級技術專家“20112013 曾就職于阿里,從事數據實時計算工作。2014至今 一直在就職于美團,近十年一直專注于大數據開發解決方案領域。負責離線和實時場景大數據開發平臺工具建設,包括數倉建模工具、任務開發、測試與質量保障、以及元數據服務等。在大數據開發平臺工具系統設計、數據安全、數據質量治理等方面有較多的經驗?!闭埐迦肽恼掌瑐€人簡介亮點介紹亮點介紹數倉一致性問題數倉一致性問題智能化解決方案智能化解決方案落地效果落地效果總結與展望總結與展望目錄數倉智能構建平臺數倉智能構建平臺(達芬奇)(達芬奇)開
2、發提效一致性保障資產沉淀數倉規劃落地亮點介紹指標定義一致指標定義一致:基于數據域、業務過程的統一定義規范,確保指標定義無重復、無歧義。加工一致加工一致:基于明細模型定義指標唯一的計算口徑,所有下游ETL自動復用,同步修改。消費一致:消費一致:基于模型內容與指標維度語義,提供統一的查詢路由元數據服務。數倉規劃服務數倉規劃服務:頂層設計數據域、業務過程、總線矩陣等指導和約束數倉規劃和建設。規范落地規范落地:正向建模,強校驗分層、主題、詞根等規范100%落地應用層開發提效應用層開發提效:基于組件模型語義,復雜指標公式,預聚合配置,自動生成ETL任務等。組件層配置提效組件層配置提效:根據詞根快速定義模
3、型和指標維度的計算口徑,表之間的ER關系;雙向門設計支持逆向建模等。變更提效:變更提效:一處修改全局生效,可級聯變更、測試、發布、回溯等。指標維度資產指標維度資產:指標之間的層級關系、計算口徑清晰可見,以及可被分析的維度支撐應用分析評估。模型資產模型資產:模型與指標、業務過程綁定、增強理解數,提升找數效率。亮點介紹亮點介紹數倉一致性問題數倉一致性問題智能化解決方案智能化解決方案落地效果落地效果總結與展望總結與展望目錄數倉一致性問題背景1、數據指標多,增長快數據指標多,增長快:隨著業務的發展,對數據的需求更加全面、更精細,多數業務指標都膨脹到了千級萬級,如某個業務就有4,000+等。2、應用層開
4、發需求多應用層開發需求多:ETL任務占比40%+,日常新增變更任務應用層也占大頭(60%+),秒級響應要求的數據產品、報表的需求更多來自應用層數據支撐。痛點痛點:1、口徑亂、一致性問題多口徑亂、一致性問題多:從不完統計的檢測結果看,個別業務不一致占比在10%以上。2、事后治理,難收斂事后治理,難收斂:僅通過下線,換指標名的方式,治標不治本。3、應用層開發效率低應用層開發效率低:復用性差,ETL任務開發時間長。4、指標口徑變更協作難指標口徑變更協作難:一個指標口徑變更,要人工同步修改多個ETL保持一致。煙囪建設指標一致性(同名不同義、同義不同名、同名同義不同值)問題分析數倉一致性問題背景定義:定
5、義:40%40%加工鏈路:加工鏈路:40%40%應用(應用(APIAPI):):20%20%缺定義管理標準缺定義管理標準制定標準未有效落地制定標準未有效落地數據源不一致數據源不一致加工邏輯不一致加工邏輯不一致數據回溯周期不一致數據回溯周期不一致多消費口徑不一致多消費口徑不一致指標維度二次計算不一致指標維度二次計算不一致一致性問題解決思路指標維度定義一致指標維度定義一致提供標準的頂層管理方法提供標準的頂層管理方法系統化保障標準有效落地系統化保障標準有效落地加工鏈路一致加工鏈路一致指標和表的技術口徑可管理指標和表的技術口徑可管理上游加工邏輯與下游保持同步上游加工邏輯與下游保持同步數據回溯周期保障一
6、致數據回溯周期保障一致消費一致消費一致統一的指標查詢元數據路由統一的指標查詢元數據路由自動化構建下游自動化構建下游ETLETL(復用上游邏輯)(復用上游邏輯)結構化、唯一管理結構化、唯一管理查詢收口到統一查詢收口到統一APIAPI亮點介紹亮點介紹數倉一致性問題數倉一致性問題智能化解決方案智能化解決方案落地效果落地效果總結與展望總結與展望目錄智能化解決方案方案核心挑戰一致性是否可持續?一致性是否可持續?且整體數據需求支持效率是否會降低?且整體數據需求支持效率是否會降低?成本是否可控?成本是否可控?一致性保障:一致性保障:方案復雜度、理解成本、落地可行性開發效率(開發效率(場景覆蓋)支持:)支持:
7、指標維度定義、ETL構建語義支持等任務執行性能保障:可任務執行性能保障:可調優、可運維能力兼顧業務高優需求:兼顧業務高優需求:開發和治理并行一致性保障-指標口徑管理參考:Kimball維度建模、阿里onedata理論維度、指標結構化分層管理解決“同名不同義”問題一致性保障方法:一致性保障方法:原子指標通過歸屬業務過程區分跨數據域指標通過結構化拆解區分一致性保障-數倉建模一致性保障方法一致性保障方法:是否指標有相同的表字段計算達式(解決同義不同名問題)手動構建指標口徑,統一到組件模型,確保唯一,下游模型通過自動構建復用邏輯,繼承語義。(解決多口徑下同名不同義問題)級聯變更、同步重導:組件層口徑修
8、改,級聯變更下游構建邏輯。(解決鏈路變更、回刷周期不一致問題)數倉分層變化:數倉分層變化:新增組件模型新增組件模型聚合層以上變薄聚合層以上變薄一致性保障-查詢路由一致性保障方法:通過統一的模型路由服務,保證明細組件模型、聚合模型均可查且語義保持一一致性保障方法:通過統一的模型路由服務,保證明細組件模型、聚合模型均可查且語義保持一致(解決消費不一致問題)致(解決消費不一致問題)路由策略:根據查詢的信息(指標、分析維度、限定條件等)篩選模型,并權衡因素(性能、就路由策略:根據查詢的信息(指標、分析維度、限定條件等)篩選模型,并權衡因素(性能、就緒時間等)進行最優選擇。緒時間等)進行最優選擇。因此因
9、此模型語義非常關鍵,決定了查詢效率和數據質量。模型語義非常關鍵,決定了查詢效率和數據質量。開發效率支持-構建語義組件模型的構建方式一:組件模型的構建方式一:ERER模型模型:通過打主外鍵,自動聯想構建關聯。模型配置語義:模型配置語義:字段綁定虛擬表達式自定義UDF參考:模型配置方式上 參考MetricFlow操作更加簡單,一次配置多次引用,但關聯、配置語義有限開發效率支持-構建語義組件模型的構建方式上二:組件模型的構建方式上二:多表模型:人工配置關聯語義。組件模型配置語義:組件模型配置語義:字段綁定虛擬表達式自定義UDF開窗、側視圖等支持場景更加靈活、可兼顧更多個性化需求的表意能力表意能力開發
10、效率支持-構建語義聚合模型語義:聚合模型語義:分組聚合二次去重指標生成模型數據范圍多種聚合模型構建路徑:多種聚合模型構建路徑:組件到聚合聚合到聚合。支持多種支持多種ETLETL任務類型:任務類型:Hive2hiveHive2hiveHive2dorisdoris2doirs 運行在spark、doris等引擎上。覆蓋更多聚合模型覆蓋更多聚合模型ETLETL生產場景生產場景開發效率支持-工具體系端到端的測試:端到端的測試:級聯測試測試用例生成指標結果對數語義指導質量監控:語義指導質量監控:主鍵重復值域約束漏斗關系數據地圖:數據地圖:業務概念導航找指標、找明細資產沉淀與傳承打通各個環節、打通各個環
11、節、形成正向循環形成正向循環任務性能保障性能保障性能保障:自動裁剪引擎參數運維參數謂詞下推兼顧業務高優需求雙向門的設計雙向門的設計:數倉分層規范數倉分層規范:可以允許從聚合層進行組件建模定義指標技術口徑定義規范指標技術口徑定義規范:可以允許復合指標直接綁定組件模型中的物理字段指標口徑管理規范指標口徑管理規范:可以允許指標臨時有多個計算口徑。尊重業務現狀、結合工具能力迭代速度:治理策略上先松后嚴尊重業務現狀、結合工具能力迭代速度:治理策略上先松后嚴亮點介紹亮點介紹數倉一致性問題數倉一致性問題智能化解決方案智能化解決方案落地效果落地效果總結與展望總結與展望目錄落地效果落地效果無加工鏈路側導致的一致
12、性case智能構建模型1000+以上,新增占比60%+應用層ETL開發時長,由人均3PD,降到1PD左右較之前提升了4倍左右亮點介紹亮點介紹數倉一致性問題數倉一致性問題智能化解決方案智能化解決方案落地效果落地效果總結與展望總結與展望目錄組織保障組織保障:數倉架構師共識建模方法認知 推動使用新生產模式的決心 產研支持不同優先級需求的協同工具能力工具能力:構建能力支撐場景覆蓋度 關注工具使用效率 雙向門的設計流程協作流程協作:讓用戶(數據RD)形成黏性 深度BP機制,快速突破卡點經驗總結開發效率統一、深入的數倉開發規范積累可復用的基建模型資產高質高效的應用模型開發低業務系統變更成本低一致性治理成本
13、承接更多的業務需求強組織保障規范開發治理治理飛輪智能構建能力的持續迭代智能構建能力的持續迭代:更多復雜指標、維度的構建能力支持:條件判斷指標、衍生維度等支持基于指標維度結構特征、標簽生產能力一套配置化語義,在多引擎執行的能力(spark,doris,flink)關于智能構建(物化)分工的探索關于智能構建(物化)分工的探索:自助物化 VS 全局物化 VS 透明物化下一步滿足性能要求下:優化資源效率,開發效率挑戰:變更、運維謝謝聆聽!謝謝聆聽!微 信 官 方 公 眾 號:壹 佰 案 例微 信 官 方 公 眾 號:壹 佰 案 例關 注 查 看 更 多 年 度 實 踐 案 例關 注 查 看 更 多 年 度 實 踐 案 例更多技術干貨,歡迎關注“美團更多技術干貨,歡迎關注“美團技術團隊”技術團隊”