天天看點

中繼資料與中繼資料平台

中繼資料與中繼資料平台

(一)中繼資料的定義

如果按照傳統的定義,中繼資料是關于資料的資料,是為了描述資料的相關資訊而存在的資料,例如記錄資料的存儲位置、模型定義、生命周期、血緣關系等資訊。例如我們看一部電影,電影本身就是資料,那麼中繼資料就是用來描述這部電影的資料。如下圖所示:

中繼資料與中繼資料平台

在資料倉庫體系中,中繼資料代表了一種統計資料從中繼資料、資料倉庫到資料應用的全鍊路資訊,記錄了統計資料從産生到展示的全部過程。可以說,有了中繼資料,開發人員便可以友善的找到統計資料背後的計算邏輯與過程,用于指導開發工作并追蹤資料問題,可以極大的提升工作的效率。中繼資料按照用途的不同可以分為兩個部分:技術中繼資料和業務中繼資料。技術中繼資料是存儲關于資料倉庫體系建設細節的資料,常見的用如下幾種:

  • 存儲資訊:例如表名、字段名、字段備注、分區、責任人、檔案大小、表類型、生命周期等;
  • 運作資訊:例如Hadoop上運作MR的Job資訊、執行個體名稱、輸入輸出、運作參數、執行時間、優先級等;再例如Hive上運作的SQL内容、查詢表名、掃描檔案大小等;
  • 開發資訊:例如資料開發方式、任務排程時間、上下遊依賴、運作節點資訊等;
  • 品質資訊:例如運作狀态、報警資訊、品質評分等。

業務中繼資料記錄了從業務角度所關心的資料資訊,通常面向産品及營運人員使用,因而記錄的資訊是十分簡潔易的,主要包括:

  • 資料資訊:例如次元、字段涵義、安全等級、計算邏輯、名額定義等;
  • 應用資訊:例如展示平台、應用産品等。

(二)中繼資料存在的意義

在傳統意義上,中繼資料有兩方面的用處:

  • 幫助資料平台了解自己本身的情況:例如我有哪些資料、我存儲的資料有多大、如何找到我所需要的資料、我的資料何時産出等資訊,當我們拿到這些資訊後,就可以做對應的運維報警等工作;
  • 幫助資料平台制定資料統計的标準:例如資料口徑如何統一、計算名額如何統一、資料之間的關系如何、資料的上下遊關聯資料是什麼等資訊,打通了上下遊資料之間的關聯關系,就可以為資料品質及維護可視化奠定基礎。

可以說,中繼資料有重要的應用價值,對于資料管理,提供諸如計算、存儲、成本、品質、安全、模型等方面有重大的利用價值。阿裡巴巴在OneData體系中,建設的相關平台是:資料地圖。因為平台屬于内部使用,是以不便于對外透露。但你可以設想一下,一個平台,擁有的資料表,在百萬數量級,是一種怎樣的體驗。可以說,跨部門、跨平台之間的資料資訊同步,基本上都是要資料地圖平台來進行的,對于維護百萬張臨時表和幾萬張常用表來說,區分它們的安全級别、使用頻率、重複性、資料品質等資訊,真的需要一個團隊去專門的維護。資料地圖在整個資料體系中,承擔的是一種管理者的角色,通過圖形化的方式來展示資料資訊,并标明資料計算中所必要的各種資訊參數,不僅資料開發人員可以使用,對于産品和營運來說也是非常友好的。它包含的内容有如下幾個部分:

  • 快速的搜尋定位:通過搜尋引擎的方式來查找相關資料,支援精确查詢、模糊查詢、表名查詢、字段查詢、備注查詢等方式;
  • 标準化的圖形展示:采用圖形化的方式來組織頁面邏輯,例如采用類似Wifi圖示的形式來标注資料品質級别,肉眼可見的便捷,友善使用者所需要的關鍵資訊;

資料平台本身仍在不斷的完善和開發中,更多的功能和更強的能力會被開發出來,以上提到的是其中的幾個場景。

(三)中繼資料平台該如何搭建

标準的建設思路圖如下:

其實根據資料團隊規模的不同,并不一定要建設如此複雜和精确的中繼資料平台,對于中小型團隊而言,能夠滿足技術中繼資料的相關名額已經足夠,完整的中繼資料平台投入的人力物力不是一般的大,并且通常情況下針對跨部門、跨業務線的合作,這種平台的價值才能被真正的提現出來。首先要樹立清楚自身的業務資料邏輯,例如在搜尋統計中,針對CPM的統計有三種方式,分别為CPM1(搜尋展現)、CPM2(廣告展現)、CPM3(有廣告的搜尋展現),那麼每一種的統計方式都要有定義,後續再了解名額概念時便不會有偏差。其次要了解清楚底層資料的來源,例如網頁日志分為哪幾種,用戶端日志是實時采集還是延遲采集,這對于保障資料的統一性而言非常重要。再次要建立一批Dim資訊表,這些表要記錄每一種主屬性所對應的其他次元資訊,例如使用者屬性對應的有行業、客戶類型、注冊時間等資訊,這些表是靜态的,但需要有非常明确的定義和解釋。然後要做相關的名額采集,例如Hive表資訊如何定時讀取對應的Mysql庫,例如每一個字段的定義是否有人工準确标注,例如表的運作情況能否從運維那裡要一個接口來讀取,例如表之間的血緣關系是否有閉環圖檢查等等。最後還要有統一的對外接口,友善其他平台來讀取和使用,例如實時平台來讀取次元資訊等。