前面我寫了一篇關於對後設資料和後設資料管理的認知和理解的文章,有興趣的朋友可以去看看。接下來我們講一講主資料管理(MDM)。
主資料管理(MDM)
主資料是系統間共享資料,它是系統間資訊交換的基準。主資料管理目標是使各系統在獲取基準資料時,能夠保證資料是最新的、一致的、準確的,能夠實時進行各系統間資料驗證。
根據主資料管理實施的複雜程度,大體可以把主資料管理可以分為六個層次,從低到高反映了主資料管理的不同成熟度。並非層級越高的主資料管理方式就是最好的,應當根據資料本身的質量與現有體系情況,選擇合適的治理層級。
Level 0 :未實施主資料管理
Level 0意味著企業的各個應用之間沒有任何的資料共享,整個企業沒有資料定義元素存在。比如,一個公司銷售很多產品,對這些產品的生產和銷售由多個獨立的系統來處理,各個系統獨立處理產品資料並擁有自己獨立的產品列表,各個系統之間不共享產品資料。在Level 0, 每個獨立的應用負責管理和維護自己的關鍵資料(比如產品列表、客戶資訊等),各個系統間不共享這些資訊,這些資料是不連通的。但是,如果業務資料質量極高,也無需主資料管理。Level 0適合業務資料質量極高,且企業有較為完善的資料管理機制,能做到資料來源的統一。
Level 1 :列表管理
列表管理是處理資料統一的一種方式。在公司內部,會通過手工的方式維護一個邏輯或物理的列表。當各個異構的系統和使用者需要某些資料的時候,就可以索取該列表了。對於這個列表的維護,包括資料新增、刪除、更新以及衝突處理,都是由各個部門的工作人員通過一系列的討論和會議進行處理的。業務規則(Business Rules)是用來反映價值的一致性,當業務規則發生改變或者出現類似的情況時,這樣高度手工管理的流程容易發生錯誤。由於列表管理是通過手工管理的,其列表維護的質量取決於誰參加了變更管理流程,一旦某人缺席,將會影響列表的維護。Level 1適合業務資料質量較高,只有很少數的資料不統一,並且目前已有較完善的檔案管理機制的情況。這種情況下僅需提供簡單的列表即可處理,但是,大部分情況下建議採取Level 2或更高層次的主資料管理。
Level 2 :事實表管理
Level 2與Level 1相比的不同之處在於,Level 2將主資料存入資料庫的事實表中,引入了對主資料的自動管理。通過建立統一的資料標準,將主資料集中儲存,提供詳細資料的訪問和共享,為各個系統間共享使用資料提供了可靠的支援。同時,由於主資料儲存在資料庫中,所以可以使用資料庫CRUD的方式進行操作,能夠更科學的管理資料。在未實現資料整合的大多數情況都推薦Level 2。但是如果有資料湖或資料倉儲,Level 3或更高層次將會更加合適。
Level 3 :資料湖管理
與Level 2相比,Level 3打破了各個獨立應用的組織邊界,抽取各個系統的資料整合管理。在這個資料整合的情況下,將主資料管理放入其中統一管理。
企業主資料面臨一致性的挑戰。資料在不同的地方存在,資料所代表的含義也是不同的,資料的規則各個系統之間也是不一樣的。在Level 3,公司對主題域內容採用集中管理方式。這意味著應用系統,作為消費者或使用主資料,擁有一個共識就是資料是主題資料內容的映像,打破了各個獨立應用的組織邊界。集中處理意味著為主資料管理構建了一個通用的、基於目標構建的平臺。然而,大多數公司發現主資料管理正在挑戰他們現有的IT架構:他們擁有太多的獨立平臺處理主資料。Level 3的集中化資料訪問、控制跨不同應用和系統使用資料。這極大的降低了應用資料訪問的複雜性,大大簡化了面向資料規則的管理,比一個分散環境具有更多的功能和特點。在實現資料整合,且各部門沒有差異化的資料需求或定時更新資料轉化規則時推薦此種方案,但是如果資料需求較高需要用到Level 4或更高層次的主資料管理。
Level 4 :更新管理
在Level 4的架構中,資料湖中的主資料和資料來源之間使用ETL工具實現每日批量更新。當主資料記錄詳細資料被修改後,所有應用的相關資料元素都將被更新。在企業的應用資料庫中,資料的編碼規則一般都是靜態的。然而,在一些極端情況下,資料編碼規則會時常發生變動,例如頻繁的新增記錄,修改記錄。在這種情況下,所有系統都是同一個版本:當變更發生時,資料湖中主資料將定時更新,形成改變的直接操作檢視。從Level 3到Level 4意味著主資料傳播和供應不需要源系統專門的開發或支援,還意味著所有的應用清楚的知道他們並不擁有或控制主資料,他們僅僅使用資料來支援他們自己的功能和流程。由於增加了一項ETL作業,Level 4的開發需要消耗額外的時間。然而,Level 4並不是最高層次的抽象架構,如果需要實現各部門差異化的資料需求時,就需要引入Level 5的流程管理。
Level 5 :流程管理
Level 5可以保證主資料反映一個公司業務規則和流程,並證實其正確性。由於部分公司資料編碼相對比較複雜,影響業務資料訪問和操作的規則以及策略相對也比較複雜。假定任何一個單一系統可以包含並管理與主參考資料相關的各種型別的規則是不切實際的,工作流和流程整合的支援是必不可少的。總體來說,Level 5通過引入主資料的流程管理,控制資料湖和各源系統中資料的編碼/解碼,以此同時保證資料湖的統一性和源系統資料需求的多樣性。使用Level 5意為著資料來源的高度不統一,部門各成一套體系,且資料需求及其複雜。實施一個Level 5級別的主資料管理將相當耗時,且會消耗大量時間和源系統對接。
總結
Level 0未實施主資料管理,Level 1採取一個列表管理主資料,Level 2使用資料庫管理主資料,Level 3在資料湖中整合主資料管理,Level 4在資料湖和ETL過程中抽象出主資料管理,Level 5在整個資料流程實現主資料的編碼/解碼。