數據元
什么是數據元:
《GB/T 19488.1 電子政務數據元第1部分:設計和管理規范》 里是這樣定義的:
數據元(Data element):又稱數據類型,通過定義、標識、表示以及允許值等一系列屬性描述的數據單元。在特定的語義環境中被認為是不可再分的最小數據單元。
舉例說明:
語義環境:描述員工年齡的大小 age為數據元,“18“為數據元的值。
數據元一般來說由三部分組成:
對象類:思想、概念或真實世界中的事物的集合,它們具有清晰的邊界和含義,其特征和行為遵循同樣的規則。
特性:對象類中的所有成員共同具有的一個有別于其它的、顯著的特征。
表示:它描述了數據被表達的方式。
還是以前面的例子:
語義環境:描述員工年齡的大小 age為數據元,“18“為數據元的值。
對象是員工 ,特性是 年齡 age ,表示是 數值
語義環境:描述員工所屬部門的編碼 deptcode為數據元,“1001“為數據元的值。
對象是員工所屬部門,特性是 編碼 deptcode ,表示是 文本
元數據
什么是元數據
百度百科是這樣定義的:
元數據(Metadata),又稱中介數據、中繼數據,為描述數據的數據,主要是描述數據屬性(property)的信息,用來支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能。
《DAMA數據管理知識體系指南》是這樣定義的:
元數據最常見的定義是“關于數據的數據”。這個定義非常簡單,但也容易引起誤解。可以歸類為元數據的信息范圍很廣,不僅包括技術和業務流程、數據規則和約束,還包括邏輯數據結構與物理數據結構等。它描述了數據本身(如數據庫、數據元素、數據模型),數據表示的概念(如業務流程、應用系統、軟件代碼、技術基礎設施),數據與概念之間的聯系(關系)。元數據可以幫助組織理解其自身的數據、系統和流程,同時幫助用戶評估數據質量,對數據庫與其他應用程序的管理來說是不可或缺的。它有助于處理、維護、集成、保護和治理其他數據。
怎么理解呢?《DAMA數據管理知識體系指南》舉了一個比較好理解的例子:
為了理解元數據在數據管理中的重要作用,試想一個大型圖書館中有成千上萬的書籍和雜志,但是沒有目錄卡片。沒有目錄卡片,讀者將不知道如何尋找一本特定的書籍甚至一個特定的主題。目錄卡片不僅提供了必要的信息(圖書館擁有哪些書籍和資料以及它們被存放在哪里),還幫助讀者可以使用不同的方式(主題領域、作者或者書名)來查找資料。如果沒有目錄,尋找一本特定的書將是一件十分困難的事情。一個組織沒有元數據,就如同一個圖書館沒有目錄卡片。
面對數據總是會有以下的一些疑問:
這個數據怎么來的?誰創建的,誰更新的,從哪個系統來的…
這個數據是什么?數據的語義環境是什么,數據怎么存儲的,數據的定位是什么…
這個數據怎么用?數據的應用場景是什么,有沒有和其他系統共享,如果丟失會造成什么影響…
這個數據怎么管理?誰負責這個數據,這個數據怎么評定質量,誰有權訪問這個數據…
為了更好的解決這些問題,從而使用元數據來記錄數據相關的信息。
元數據的分類
元數據管理的范圍將涵括數據產生、數據存儲、數據加工和展現等各個環節的數據描述信息,幫助用戶理解數據來龍去脈、關系及相關屬性。按其描述對象的不同可以劃分為三類元數據:業務元數據、技術元數據、和操作元數據。
業務元數據
業務元數據(Business Metadata)主要關注數據的內容和條件,另包括與數據治理相關的詳細信息。業務元數據包括主題域、概念、實體、屬性的非技術名稱和定義、屬性的數據類型和其他特征,如范圍描述、計算公式、算法和業務規則、有效的域值及其定義。業務元數據的示例包括:
1)數據集、表和字段的定義和描述。
2)業務規則、轉換規則、計算公式和推導公式。
3)數據模型。
4)數據質量規則和檢核結果。
5)數據的更新計劃。
6)數據標準。
7)有效值約束。
8)數據的安全/隱私級別。
技術元數據
技術元數據(Technical Metadata)又可以分成結構性技術元數據和關聯性技術元數據。結構性技術元數據提供了在信息技術的基礎架構中對數據的說明,如數據的存放位置、數據的存儲類型、數據的血緣關系等。關聯性技術元數據描述了數據之間的關聯和數據在信息技術環境之中的流轉情況。技術元數據的示例包括:
1)物理數據庫表名和字段名。
2)字段屬性(數據類型)。
4)訪問權限。
5)數據CRUD(增、刪、改、查)規則。
6)物理數據模型,包括數據表名、鍵和索引。
7)記錄數據模型與實物資產之間的關系。
8)ETL作業詳細信息。
9)文件格式模式定義。
10)源到目標的映射文檔。
11)數據血緣文檔,包括上游和下游變更影響的信息。
12)程序和應用的名稱和描述。
13)周期作業(內容更新)的調度計劃和依賴。
14)恢復和備份規則。
15)數據訪問的權限、組、角色。
操作元數據
操作元數據(Operational Metadata)主要是指與元數據管理相關的組織、崗位、職責、流程,以及系統日常運行產生的操作數據。操作元數據管理的內容主要包括:與元數據管理相關的組織、崗位、職責、流程、項目、版本,以及系統生產運行產生的操作記錄,如運行記錄、應用程序、運行作業。
1)批處理程序的作業執行日志。
2)抽取歷史和結果。
3)調度異常處理。
4)錯誤日志。
5)報表和查詢的訪問模式、頻率和執行時間。
6)補丁和版本的維護計劃和執行情況,以及當前的補丁級別。
7)備份、保留、創建日期、災備恢復預案。
8)數據歸檔、保留規則和相關歸檔文件。
9)清洗標準。
10)數據共享規則和協議。
11)技術人員的角色、職責和聯系信息。
元數據應用
經過前面的介紹,大概對元數據有個初步的印象,可能接下來就要問了:元數據有什么用?
先引入一個場景:
假設有一天,我們需要對某一些業務信息指標做一個報表統計,用于前端的數據展示,這些業務信息可能來自于不同的表,通過不同的ETL過程到目標數據倉庫,最后展示在一個報表中,如下圖所示:
血緣分析
舉例:
假設你在管理報表,有一天你發現有報表數據中 指標3 的數據異常,你需要找出錯誤的數據并提交流程修正,那么這個錯誤數據從何而來?一個個核對數據顯然不夠高效,那你就得知道這個報表的的指標來源,元數據的血緣分析能幫助你分析這個錯誤數據的上游路徑。
查看元數據可以發現:
指標3 是由數據集市的 B主題數據 經過ETL過程生成的 ,
B主題數據 又是 由 數據倉庫中的table1 和 table 4經過ETL過程生成的
血緣分析是一種技術手段,用于對數據處理過程的全面追蹤,從而找到某個數據對象為起點的所有相關元數據對象以及這些元數據對象之間的關系。元數據對象之間的關系特指表示這些元數據對象的數據流輸入輸出關系 。
由元數據構建的血緣分析,可以快速定位數據鏈路,明確ETL細節,縮小數據問題的范圍。
影響分析
舉例:
還接上面的例子,有一天你發現數據倉庫的table2 數據錯了,等你將table2數據更正后,此時你需要及時提醒大家這個數據的更正信息,只需要通知這個數據影響到的實體就可以了,然而整個報表流程的數據傳遞這么復雜,怎么判斷哪些實體會受到這個數據的影響呢。
如果沒有元數據,那我們可能需要遍歷所有的腳本、數據。才能得到想要的答案;而如果有成熟的元數據管理,那我們就可以直接得到答案,節省大量時間。
數據地圖
數據地圖是一種圖形化的數據資產管理工具,它提供了多層次的圖形化展示,并具備各種力度控制能力,滿足業務使用、數據管理、開發運維不同應用場景的圖形查詢和輔助分析需求。
為什么有數據地圖:
如果公司的數據庫里只有百十來張表,那基本上不需要啥數據地圖,因為靠腦子就能全記住了。
但是,如果有好幾個系統、幾百張表,而且在數倉里還分了好多層,之間的關系錯綜復雜,誰能全部記得住啊?
這個數據地圖主要解決這些問題:
平臺由多少數據資源?
每個數據源由多少表、字段?
這些表、字段里面都是什么內容?
怎么獲取這些數據?
為啥叫“數據地圖”,其實就是借用了地圖“找信息”的功能,意思是在“數據地圖”功能中,能找到所有的數據。
數據地圖不是跟百度地圖、高德地圖一樣,而是跟ETL流程DAG一樣的,或者直接是表格展示。 更簡單的表格基本上就是庫名、表名、元數據代碼、字段名、數倉位置、上游 、下游、管轄單位、負責人等。
————————————————
原文鏈接:https://blog.csdn.net/qq_41116027/article/details/124392461