摘要:元數據管理服務UMS集中管理一些關鍵的業務元數據,并存儲在自己的具有管理功能的元數據數據庫中:更新的驗證和授權審計歷史關鍵元數據敏感操作的審批工作流程支持離線生成元數據的在線用例作為Airbnb數據質量計劃的一部分,我們實施了與數據倉庫中每個數據資產直接相關的數據質量評分。...
Airbnb 如何將我們的數據目錄發展成為一個用于大規模管理和治理我們的數據倉庫的平臺。
介紹
在愛彼迎,數百萬數據資產存在于復雜的生態系統中,為我們的業務提供信息并改進我們的產品。數據管理團隊的使命是使公司能夠大規模管理其數據生態系統。
為此,我們需要準確了解我們生態系統中的所有資產以及它們之間的相互關系。換句話說,它需要準確的元數據。我們的數據管理平臺 Metis 以希臘忠告女神的名字命名,是我們確保可以大規模捕獲、管理和使用可信賴的元數據的解決方案。
出身卑微
Metis 是我們現有的 Airbnb 元數據產品基礎的演變。
Dataportal是我們實現數據民主化的第一項努力:成功地使數據用戶能夠找到可信數據。這極大地提高了生產力,并且遠遠領先于它的時代。
隨著數據可靠性和合規性法規變得越來越重要,我們需要更全面、更詳細地了解數據是如何轉換的。這導致我們采用Apache Atlas作為我們的數據沿襲解決方案。Apache Atlas 為 SLA Tracker(請參閱在 Airbnb 可視化數據時效性)等產品提供支持,它結合了著陸時間元數據和沿襲以啟用調試上游數據延遲。
隨著我們對元數據的需求增加,擴展到成本管理、數據質量等更多領域,我們對數據目錄的需求也擴大了:
- 能夠管理描述它的數據和元數據
- 提高數據質量的護欄和建議
- 數據集歷史的可審計性,用于調試和治理目的
我們很快了解到,數據管理必須作為一門學科來追求,因此將 Metis 打造為訪問所有數據元數據的一站式商店。
我們建造了什么
Metis 由三個核心產品組成:Dataportal、Unified Metadata Service (UMS) 和 Lineage Service。 總之,這個平臺允許 Airbnb 管理多個領域的數百萬數據資產。我們支持的一小部分資產包括:
- Apache Hive和 Trino 數據集
- 指標和維度,由Airbnb 的指標平臺提供支持:Minerva
- 來自Apache Superset和 Tableau? 的圖表和儀表板
- 數據模型,包括經 Midas 認證的模型
- 機器學習功能和模型
- Airbnb 的團隊和員工(從技術上講不是數據資產,而是支持高質量所有權并確保上述所有數據資產的元數據保持最新的關鍵)
梅蒂斯建筑
梅蒂斯建筑
在高層次上,Metis 由以下組件組成:
數據門戶——作為人類用戶的目錄和管理 UI。
Viaduct — Airbnb 的內部 GraphQL API 層建模離線數據生態系統。
UMS Core 服務——一種后端服務,包含元數據管理所需的系統架構和業務邏輯。
元數據存儲:
- MySQL——主要存儲需要集中管理的關鍵元數據
- Lineage Graph——一種收集和服務數據沿襲的集中式服務
- Elasticsearch — 服務于搜索和發現用例
離線組件——UMS 核心服務的外部,用于執行離線任務:例如離線元數據一致性檢查、策略執行。
離線數據集——為分析用例離線導出元數據。
數據門戶
Dataportal 用作 Airbnb 數據目錄的 UI,是人們查找和管理 Metis 支持的所有資產的地方。它是使用 React 和 TypeScript 構建的單頁應用程序,因此足夠靈活,可以服務于數據管理和治理所需的各種工作流。前端通過 GraphQL API 與 UMS 和其他服務通信;這一點尤其重要,因為我們要防止順序獲取沿襲信息和過度獲取大量元數據以確保高性能的用戶體驗。
搜索和發現
Dataportal 體驗從搜索開始,這樣數據消費者和數據所有者都可以找到他們需要的資產。 我們在設計搜索和發現體驗時考慮了以下幾個原則:
- 直接在搜索結果中顯示相關元數據,幫助人們找到他們正在尋找的確切資產
- 在用戶不知道他們需要的確切資產的情況下,提升高質量和常用的數據資產
因此,搜索結果往往會返回高質量的、經過認證的數據集,以及描述、最近的用戶數量和上次修改的時間,以幫助用戶找到他們想要選擇的資產:
數據門戶搜索結果頁面
管理能力
一旦找到所需的資產,用戶就可以訪問實體頁面以執行各種消費、管理和治理操作。我們將實體頁面上的所有內容組織成按數據或操作類別分組的選項卡:
Hive 表上的元數據可用的許多選項卡
與消費和文檔相關的選項卡使人們可以輕松了解如何使用此表,配置選項卡中包含列和表說明,聯系點選項卡中包含所有者和消費者數據,以及有關如何使用該表的更多詳細信息文檔選項卡。除此之外,這些頁面還允許用戶進行管理活動,如下面的屏幕截圖所示:
任何人都可以標記包含個人數據的列。更改和刪除標簽需要進行審查,以確保在我們的倉庫中正確識別個人數據。
上面的屏幕截圖僅突出顯示了我們將數據門戶從可搜索數據目錄升級到一個集中位置以管理和管理所有數據資產的方法的一個子集。
統一元數據服務
統一元數據服務 (UMS) 是我們集中式數據管理平臺的后端核心。它提供:
- 集中式模式和位于其之上的 Graphql API 層,用于訪問元數據
- 連接孤立元數據的集中式關系圖
- 集中的元數據管理功能使系統能夠滿足合規性和治理要求,而無需重新發明輪子
將元數據集中到 UMS 中可以防止所有元數據提供者和消費者需要相互集成;相反,所有提供者和消費者只需要與 UMS 集成:
減少元數據的集成點
元數據集成模式
UMS 在元數據集成和用例中扮演著各種角色。在去中心化的數據生態系統中,我們對哪些元數據應該存儲、復制到或通過 UMS 提供非常有意見。
統一表示層代理請求
UMS 支持將讀取請求代理到許多數據系統。這包括將讀取請求代理到:
- 用于表架構和表屬性的 Hive Metastore。
- 原始 Hive 表數據沿襲的沿襲服務。
- 用于數據集的數據治理狀態的數據治理服務。
元數據管理服務
UMS集中管理一些關鍵的業務元數據,并存儲在自己的具有管理功能的元數據數據庫中:
- 更新的驗證和授權
- 審計歷史
- 關鍵元數據敏感操作的審批工作流程
支持離線生成元數據的在線用例
作為 Airbnb數據質量計劃的一部分,我們實施了與數據倉庫中每個數據資產直接相關的數據質量評分。數據集的數據質量分數以離線方式生成,并被提取到 UMS 元數據數據庫中以供在線使用。
集中管理的搜?索索引支持數據發現
與傳統的數據目錄類似,UMS 在 Elasticsearch 集群中集中管理不同實體的索引,以支持數據發現。
元數據攝取
在某些情況下,需要將元數據存儲或復制到 Metis 存儲層中。UMS 以各種鋪平的機制與元數據提供商集成,以利用 Airbnb 的技術堆棧獲取元數據。這些包括:
- 流處理 (Flink) 作業攝取元數據更改事件。
- 每天運行的 ETL(氣流)作業從元數據提供程序中提取并推送到 UMS。
- 直接調用 UMS API。
當我們加入新的元數據提供商時,涉及的關鍵工作是確定產品需求并調整元數據集成的范圍,然后最終確定實際的集成機制。
血統服務
Metis 的最后一個主要部分是我們的 Lineage Service。早在 2020 年,我們就采用 Apache Atlas 作為 Airbnb 的數據倉庫數據沿襲解決方案。
在 Airbnb,Apache Atlas 擁有一個包含超過 1 億個節點和 3 億條邊的大型譜系圖。主要的沿襲數據來自生產 Hive 表和我們數據倉庫中的大量中間 Hive 表。
我們對 Apache Atlas 進行了廣泛的定制和調整,以處理我們數據倉庫中的大規模沿襲事件:
- 對沿襲事件應用分片策略以增加并行性。
- 在圖形數據庫之上提高 Atlas 服務器代碼效率。
- 微調支持圖形數據庫的底層存儲系統以實現可擴展性和延遲。
- 讀取路徑優化和過濾支持,以更有效地訪問沿襲數據。
Atlas 的譜系相關組件,包括其圖形引擎 (JanusGraph)、類型系統、Ingest(帶有 Hook 集成)和譜系 API,使我們能夠高效地收集和提供譜系數據,為各種數據資產和數據之間的關系提供有價值的見解。管道。它為許多關鍵數據合規性、數據可靠性和數據質量產品提供支持。請參閱在 Airbnb 可視化數據時效性。
結論與贊賞
如上所示,Airbnb 的數據管理方法在過去 6 年中發生了顯著變化。我們開始構建Dataportal 的目標是在 Airbnb 實現“數據民主化”,現在我們有了 Metis:一個讓 Airbnb 的任何人都能搜索、發現、使用和管理我們離線倉庫中的所有數據和元數據的平臺。Metis 一直在數據合規性、數據可靠性、數據質量計劃方面發揮關鍵作用,每周幫助 1000 多名數據用戶。
我們未來的工作將涉及兩個關鍵優先事項:首先,我們將專注于發展我們的系統架構和底層技術,以跟上我們數據生態系統的快速發展。其次,我們計劃將我們的覆蓋范圍擴大到更多系統并啟用更高級的數據管理功能,這反映了我們在 Airbnb 對數據投資的持續承諾。
沒有數據管理團隊的成員以及我們的跨職能和跨組織合作者,就不可能有 Metis。他們包括但不限于:Adam Kocoloski、Adam Wong、Cindy Yu、Dave Nagle、Erik Ritter、Jerry Wang、葉嘉欣、John Bodley、Jyoti Wadhwani、Liyin Tang、Michelle Thomas、Nathan Towery、Paul Ellwood、Sylvia Tomiyama 、Vyl Chiang、Woody Zhou、Xiaobin Zheng 和 Zuzana Vejrazkova。
Apache Airflow、Apache Atlas、Apache Hive、Apache Superset、Atlas 和 Hive 是 Apache Software Foundation 在美國和其他國家/地區的注冊商標或商標。
所有商標、服務標志、公司名稱和產品名稱均為其各自所有者的財產。對這些的任何使用僅用于識別目的,并不意味著贊助和認可。
作者: Erik Ritter、葉佳欣、Sylvia Tomiyama、Woody Zhou、鄭曉斌、Zuzana Vejrazkova
出處
:https://medium.com/airbnb-engineering/metis-building-airbnbs-next-generation-data-management-platform-d2c5219edf19