火山引擎 DataLeap:3 個關鍵步驟,複製位元組跳動一站式資料治理經驗

2023-02-09 12:01:29

更多技術交流、求職機會,歡迎關注位元組跳動資料平臺微信公眾號,並進入官方交流群

DataLeap 是火山引擎數智平臺 VeDI 旗下的巨量資料研發治理套件產品,幫助使用者快速完成資料整合、開發、運維、治理、資產、安全等全套資料中臺建設,降低工作成本和資料維護成本、挖掘資料價值、為企業決策提供資料支撐。

本篇文章主要圍繞火山引擎 DataLeap 一站式資料治理實踐展開分享,從資料治理思路、平臺建設以及能力升級三個步驟出發,帶你全面複製位元組跳動資料治理經驗。

▌機遇與挑戰

資料治理存在落地困難的問題,體現在:

首先,治理效益與業務影響存在矛盾。資料治理需要對業務系統、生產流程改造,由此對業務造成影響。

第二,治理涉及的組織和管理難度大。資料治理涉及的角色多、範圍廣、鏈路長,且治理目標對齊、管理和跟進難度大。

第三,規範「人」的動作難度大。資料治理要依靠人來推進和執行,人員能力參差不齊,組織文化、目標也存在不對齊的情況。

第四,缺乏適配性強、全域性視角且靈活的資料治理工具。

下面結合位元組的特點,介紹資料治理工作的機遇和挑戰。

  • 位元組文化

首先,位元組業務多、發展快、敏捷迭代,要求能快速響應業務需求;

第二,OKR 文化使得每個人都可以參與制定資料治理規劃和策略,並且主動尋找實現路徑;

第三,為追求高效治理,沒有設立統一的資料治理委員會,而是由各部門根據各自的業務情況進行治理。

  • 業務第一

位元組業務規模大,且強調資料驅動,導致資料質量對業務的影響非常大。

綜上所述,資料治理在位元組是挑戰機遇與並存的工作。

▌3 個關鍵步驟,複製位元組跳動資料治理經驗

步驟一:創新資料治理思路——分散式資料自治

什麼是分散式自治?

針對上述問題,綜合考慮治理收益、業務影響、執行效率,火山引擎 DataLeap 提出了分散式資料自治的思路。

首先,在業務影響方面,為保證影響小,治理工作按照業務單元進行。一個業務單元可能是一個小團隊或者小專案。

第二,沉澱各業務線治理經驗,提升治理效率。

  • 通過產品輔助業務自驅,實現規則化、策略化、自動化治理。

  • 通過低門檻、演演算法推薦等平臺能力,降低治理門檻。

  • 支援靈活的治理方式,如管理者視角,自上而下規劃性治理;如一線執行者視角,自下而上推動治理。

第三,適配性強,產品建設覆蓋治理全鏈路。

  • 產品能力覆蓋穩定性、質量、安全、成本、報警等多場景。

  • 各模組可以獨立使用、按需組合。

  • 產品提供完整的開發能力,支援業務根據自身特點和發展階段自行接入。

與集中式治理的區別

與傳統集中式治理相比,分散式治理有很多優勢。

  • 集中式治理:要求制客製化度,並進行大範圍組織推廣;要求劃分權責,定期抽查考核;建設週期長,適配能力弱,且組織投入多。

  • 分散式自治:業務影響小;週期短,見效快;效率高,節省人力;便於算清業務收益,降低成本。

步驟二:構建一站式平臺,引入資料治理雙路徑

一站式資料治理平臺架構

DataLeap 一站式資料解決方案,主要劃分為三層。

  • 第一層 檢視層

從資產視角、管理者視角 、實施者視角縱覽資料治理的情況。

  • 第二層 方案層

針對治理過程,提出了雙路徑。

  • 路徑一【主動規劃】規劃式流程

主要解決的問題是確定目標後,如何推進執行的問題。主動規劃路徑還支援治理目標拆解成治理規則進行診斷,並根據診斷結果,執行治理。最後,通過收益統計、改進計劃等進行總結覆盤。

  • 路徑二【系統發現】響應式流程

先由系統發現問題,再通過告警等形式通知資產責任人,並進行處理。最後通過根因分析等完成總結。

  • 第三層 工具層

工具層主要為檢視層、方案層提供完備的治理工具,覆蓋質量、安全、成本、穩定性、報警與起夜等場景。工具層還通過打通基礎服務,賦能主動規劃和系統發現兩條治理路徑。

適用於業務驅動的規劃式流程

接下來為大家介紹規劃式路徑的具體建設過程。

特點:資產清晰,規則豐富,動線完整,收益準確。

思路:

  • 制定目標,包括健康分目標,以及降低儲存、計算資源等。

    根據目標制定治理方案,明確治理域、圈選治理規則。

    制定方案後,由系統自動查詢儲存、計算等問題的明細,經過分析後,通過訊息催辦等方式,將問題下發到責任人,推動資料治理。

    系統自動對治理效果進行採集,反饋目標達成情況,並對一段時間內的治理結果進行驗收和統計。

以上是規劃式流程的主線思路 。

下面介紹如何實現規劃式路徑的主要實現手段。

資產清晰

DataLeap 主要從治理全景和健康分兩個方面對資產進行描述。

第一,治理全景。從各個維度,通過明細、統計量,對團隊或個人資產的具體情況進行描述。如各個表佔了多少儲存空間,計算資源使用情況,任務報警率、起夜率,資料及時性和質量等。

第二,健康分。主要根據治理的垂直方向劃分為儲存健康分、計算健康分、質量健康分三個層級。在第一層的維度下,第二層細化問題大類,如儲存方面,包括:無效儲存、異常儲存等;質量方面,包括:及時性、報警、元資訊設定規範等。第三層則將具體問題通過標籤定義,如無效儲存涉及 TTL 不合理、熱度方面資訊(xx 天無查詢)等。

綜上,主要通過健康度和治理全景將資產清晰地表述出來,再通過後設資料倉庫進行底層資料建設。

規則豐富

目前平臺具備了完備的治理規則,涵蓋儲存、計算、質量、報警 4 大維度,50 多個規則。

其中包括全域性規則,如:生命週期永久、近 7 天產出為空、暴力掃描任務等;也包括一些自定義的規則,如生命週期 xxxt 天,近 xxx 天產出為空等。同時還兼具挖掘類規則,包括基於統計資訊進行聚合後形成的規則,以及基於資產(包括庫、表等)相似性發現問題的規則。

DataLeap 治理規則主要通過以下流程建設起來。

  • 首先,通過底層與平臺基礎元件打通,完成資料收集,形成資料倉儲的基礎層;

  • 其次,基於基礎層對資料資產進行畫像描述,進一步形成特徵域,做特徵挖掘和關聯分析;再將應用資料放到資料服務中,對外提供靈活的資料查詢能力。

  • 最後,通過最上層的規則引擎,將資料和規則進行聯動,應用於規則建設。

動線完整

明確出問題的資產後,如何儘快完成治理,減少和業務的衝突,對於提高效率至關重要。

基於治理平臺的能力,結合各個垂直場景,DataLeap 建設完善的治理動線。大致的思路如下:

  • 任務治理方面,與任務開發、任務運維平臺打通,支援任務關閉、調整、調參,鏈路優化等;

  • 庫表規範方面,和後設資料平臺聯動,實現表管理、庫管理、資產移交、屬性修改等;

  • 生命週期方面,通過治理平臺將底層儲存(包括 hdfs、hive 等元件)打通,形成閉環式治理;

  • 在資料質量方面,涉及 sla 及時性,離線、實時資料監控等,通過與質量規則平臺強聯動,互相登記資料,進行 sla 簽署以及強跳轉互動等。

完整的動線能使使用者在平臺中,以低操作成本完成一站式閉環治理。

收益準確

完成治理後,如何判斷治理收益?

目前 DataLeap 建設了基於事件中心的底層框架。通過定義資料的消費模型,由訊息通道來定時收集各個平臺操作的訊息;同時,通過定義事件 SDK,相容 API 的方式,來靈活對接上游不同平臺。

通過訊息訂閱和消費的方式,資料治理平臺和研發平臺、後設資料平臺、質量平臺等完成對接,將治理事件接入事件中心,並將事件中心的離線資料 dump 到資料倉儲,進行離線加工,同時我們也會將最新事件,注入線上後設資料服務中,及時完成治理收益計算。

技術架構

在技術架構層面,遵循以下原則:統一資料查詢、規則靈活組合、操作解耦、治理收益準確。

  • 平臺後端負責分發和轉換治理邏輯,包括查數、設定目標、健康分展示與透出,治理操作等;

  • 根據獲取的訊息後,後端平臺進行具體事件拆分。舉個例子,在看板類查數的部分,需求將統一傳送到查詢服務完成底層儲存做適配,通過點查、list、聚合類查詢,並在解析後選取不同的底層儲存。

  • 規則引擎服務可與資料查詢服務聯動。通過資料查詢服務獲取資料,再通過規則定義成標籤,並抽象成服務。該服務可以對外提供對資產標籤描述,併成為通用能力。

  • 資料治理具體實施被統一抽象成後臺模組,包括設定訊息、設定 ddl、進行刪除等。由該模組下發到元件層進行操作,再通過事件收集服務,並返回資料查詢服務,完成治理收益彙總。

適用於經驗沉澱的響應式流程

特點:事後治理、問題總結、經驗沉澱。

思路:

  • 首先,接到報警和訊息,包括 sla 破線、資料質量報警、計算任務報警等;

    其次,系統將上述訊息彙總,並展示在治理平臺中。資料開發人員通過治理平臺進行訊息檢索、問題歸因,並完成根因打標,把問題具體定位到元件、平臺等顆粒度;

    再次,通過公司組織方式找到元件側對接人,或通過組織會議將問題提交給相關責任方,推動對方完成保障;

    最後,列出系統中的問題描述、改進計劃,定義問題並分析治理效果,並在問題解決後,推動方案分享、沉澱和複用。

響應式治理架構與規劃式治理大部分類似,最大區別在於訊息服務部分。作為基礎能力,訊息服務將巨量資料平臺相關產品中的訊息,接入統一服務中,成為所有報警訊息入口。並且訊息服務還可以做升級策略,如訊息聚合、訊息加急等。

步驟三:開放接入、智慧化資料治理能力升級

開放接入

業務有各自發展階段以及不同治理目標。例如,新興業務核心關注 sla 的能力;而成熟業務,則更重視規範性。如何避免一刀切,讓不同業務需求都能通過同一個治理平臺滿足?開放能力很重要。也就是說,要構建資料治理生態,讓業務可以自定義接入治理規則,並實施治理。

當前階段,我們將資料治理分為四個象限,橫座標為後設資料(三方後設資料、標準後設資料),縱座標為規則(表示式、演演算法包)。

  • 第一象限 &第二象限:第一象限主要為定義標準後設資料和統一表示式,通過規則引擎直接適配。如果業務方存在第三方後設資料接入已定義規則,則如第二象限所示,接入的第三方後設資料需要遵循接入標準,並通過規則引擎完成適配。

  • 第三象限 &第四象限:如果規則部分要進行相似度計算,且不是表示式可以描述的規則,則被定義為演演算法包或邏輯單元。如第三象限 &第四象限所示,要求定義輸入、輸出標準,通過呼叫包或外掛方式,執行邏輯。

整體而言,將平臺能力開放,讓業務接入自身的規則和資料,基礎是治理平臺有完善的後設資料格式和接入標準。 業務方只需負責加工自身接入部分,完成設定和資料對映,通過表示式或演演算法包計算後,完成統一輸出。

目前,上圖的開放接入能力正在開發當中,未來將對外提供服務。

智慧化能力

接下來介紹智慧化能力,該能力可以進一步降低治理成本,提高治理效率。代表性落地場景如下:

任務 SLA 簽署推薦

  • 問題:在 SLA 簽署中,任務上下游可能存在上千個節點,如何估計產出時間?

  • 解決思路:目前主要通過血緣關係找到節點的關鍵路徑,基於執行時間進行權重分配,確保節點有相對合理的 SLA buffer。在推薦簽署環節,DataLeap 目前已經申請專利,並在生產中產生一定效果。第二期將基於執行失敗概率分佈情況來調整上游 buffer 壓縮,下游 buffer 寬鬆的問題。

動態閾值監控

  • 問題:資料量正常分佈,但短期異常化的情況。如流量紀錄檔在假期或活動日,出現正常突增或突降的情況。

  • 解決思路:常規的資料質量監控通常限定絕對值閾值,如歷史 7 天波動率等,容易造成假期或活動日誤報警,給值班人員造成不必要的打擾。DataLeap 提出了動態閾值的思路:基於資料歷史情況,歸納出不同分佈情況,並提供不同的預測方法。例如,動態閾值預測整個表在某一天的量級情況,然後基於資料量級設定上下閾值,超出閾值再進行報警或訊息通知。

資料分佈:資料量單調不減,大部分為快照表或全量表;假期或活動日可能出現資料量突增或突降,往往

紀錄檔類表時;資料量比較穩定,維度發生變化時,能反應出一定問題,往往是維度表。

預測方法:移動平均法、指數平滑法、自迴歸法、同期檢測法。

有相似任務識別

  • 問題:由於業務龐大、開發人員多、任務量大,在開發過程中,存在不知道線上是否存在類似任務的問題,在跨團隊情況下更明顯,因此任務檢測非常必要。

  • 解決思路:DataLeap 的基本思路是將目標原始碼和待檢測原始碼 sql 的 ast 序列化和向量化,對特徵向量做餘弦相似度計算,通過產品進行計算結果透出,再由業務完成標註,經過人工確認分析,對任務進行合併或下線。

以上是 DataLeap 在智慧化方面的一些探索。

架構總結與未來展望

架構總結

最後總結一下,平臺總體架構分為三層。

  • 產品層,從管理者視角和執行者視角做出區分。在具體治理過程中,遵循雙路徑方式:

規劃式治理:目標制定、規則圈選、治理實施、收益統計、經驗總結

響應式治理:訂閱訊息、發現問題、實施治理、登記問題、覆盤總結

  • 服務層,也稱為整體服務邏輯層,拆分了資料服務、任務執行、訊息服務、事件中心等不同模組,特別是接入服務模組,能夠提供開放能力。

  • 資料元件層,作為基礎建設層,包括後設資料倉庫建設、巨量資料元件適配等。

未來展望

未來展望主要包括三個部分。

  • 體驗打磨

在平臺建設階段,DataLeap 已經建立比較完善的能力,並在內部有效應用。接下來,我們會繼續貫徹雙路徑的建設方式。在規劃式路徑上,使資產更清晰、規則更豐富,進一步打磨動線,提高收益準確性。在響應式路徑上,除了問題登記、歸因外,後續將主要針對總結歸納、經驗沉澱進行建設,使位元組內部治理經驗更好地複用到其他業務方。

  • 開放能力

分散式自治的理念,保證業務可以自定義目標,並對齊 SLA。後續,我們將從三個方面持續開放能力:

  1. 自定義指標,比如自定義健康分、自定義組織,使不同業務可以自身情況定義健康分的組織形式和描述。

  2. 自定義方案,進一步打磨自定義規則的接入流程,並將規則能力開放,支援業務呼叫,並完成自身資產分析。

  3. 打通業務,以業務視角看待問題,針對業務問題和需求,完善平臺建設。

  • 增強型資料治理

目前 DataLeap 大部分都是統計類規則,正在建設挖掘類規則。後續會在智慧化模型建設方面,做更多預測分析。以上介紹的一站式資料治理能力和實踐,目前大部分已通過火山引擎 DataLeap 對外提供服務。

 

點選跳轉 巨量資料研發治理套件 DataLeap 瞭解更多