數據倉庫的概念模型定義
數據倉庫是面向決策進行分析的數據庫,無法在數據倉庫設計時就確定用戶明確而詳細的需求,只有一些基本的需求方向、基本的數據需求擺在設計著面前:要做的決策有哪些?決策者感興趣的是什么問題?解決這些問題需要什么樣的信息?
作為傳統的業務處理系統的開發,在其開發分析中需要明確業務處理的具體功能,即系統的開發是基于功能驅動的,數據倉庫開發人員在數據倉庫形成與應用之前是不可能了解數據倉庫的功能的。因此,無法采用功能驅動開發方法進行數據倉庫的開發,但是,數據倉庫的開發人員可以在數據倉庫開發之前通過數據倉庫的需求分析,了解數據倉庫用戶的大致需求,即在決策過程中需要什么信息。這樣,就可以界定一個數據倉庫的大致系統邊界,集中精力進行主要部分的開發。因而,界定邊界的工作也可看作是數據倉庫系統設計的需求分析,因為它將決策者的數據分析的需求用系統邊界的定義形式反映出來。
例如,以某個超市的數據倉庫設計為例。由于超市的業務需求,已經建立了一些分散的數據庫,分別處理各自的業務,各個數據庫是按照各個部門的具體需求建立起來的,這樣的組織是的數據各自為政、缺乏全局性,管理層想要在這些數據庫的基礎上得到一些全局報表,進行一些分析工作是比較困難的。因此,超市的管理層決定要在原有的數據庫系統基礎上建立一個數據倉庫。為實現該數據倉庫的概念模型的定義,首先需要分析用戶的決策需求,其次,分析為實現這些決策分析,數據倉庫應該提供哪些信息。
1、數據倉庫用戶的決策分析
從決定數據倉庫的開發初衷來說,超市管理者最迫切的需求是能更準確地把握超市商品的銷售情況和庫存情況。
為制定一個較長期的營銷策略,超市經營者目前所要進行的分析有:客戶的購買趨勢、商品供應市場的變化趨勢,供應商和客戶的信息用等級等情況。
2、支持決策的數據需求分析
管理決策者完成以上的決策分析,需要商品銷售量、商品采購量、客戶情況和供應商情況這樣一些數據。
3、數據需求分析工具
為了對數據進行完整的、規范的分析,可以采用用戶信息需求表來描述用戶的信息需求狀況。在用戶信息需求表中列出概念模型定義中所確定的數據倉庫用戶決策分析問題以及所要的信息。在列出所有需要信息的同時,還要明確這些信息的詳略程度。例如,對客戶購買商品趨勢分析時,可能根據客戶購買商品時所在的國家、省、市、街道、商店進行分析。此時,應將這些不同層次的信息按照層次的高低一次填寫在用戶信息需求表中,并且在所需要的信息名稱后面表明這些信息可能分成多少個組別,才能滿足決策分析的需要。利用這張表可以為客戶購買商品趨勢分析的主題確定不同的維:時間、地點和商品等,并且可以進一步確定維的層次。
表1 用戶信息需求表
4、CRUD矩陣
CRUD矩陣是指利用矩陣的形式來表示各個不同用戶對不同操作的動作行為。其中,C是Creat——產生,R是Read——引用,U是Update——更新,D是Delete——刪除。
概念模型的定義,不僅需要構建一個ERD模型,還要了解ERD模型中每一個實體的誕生與消亡事件。因為只有在實體誕生以后,數據倉庫才能從數據源中獲取關于這一實體的數據。當這個實體消亡后,還需要將該實體的消亡狀況在數據倉庫的元數據中記錄下來。為了提高系統的處理效率,在業務處理系統中常將一些歷史數據刪除,但是在數據倉庫中這些歷史數據卻要保留下來。
例如,在銷售業務處理系統中,某個客戶第一次購買商品,系統會將一些相關信息記錄在案,但是,某個已經記錄在案的客戶,如果在兩年中沒有訂購商品,就要在業務系統中將其置于停頓狀態,如果在三年內沒有購買商品,系統將會刪除該客戶的記錄。而在數據倉庫中,該客戶的信息將長期存在,因為管理人員可能需要了解五年中的客戶信息,數據倉庫就需要提供銷售情況的五年快照。這些快照的信息包含客戶的第一次訂購時間、最后一次訂購時間、目前的狀況等信息。為了獲取這些信息,在數據倉庫的高層模型中就需要使用CRUD矩陣反映實體的生成、引用、更新和刪除狀況。利用CRUD矩陣還可以使數據源與數據倉庫的聯系得到確認。在CRUD矩陣中使用只描述那些重要的數據實體事件,對并不重要的實體可以不考慮。
在實體的CRUD時間中,最重要的是CD事件,因為CD事件提供了數據倉庫的數據源的數據質量和數據完整性信息。同時,CD事件對數據倉庫的時間標識機制會產生較大的影響;而U事件對數據倉庫的維護具有重要意義,只有了解了數據源的更新狀況,才能確定數據倉庫中數據的刷新處理。在使用CRUD矩陣進行概念模型的分析是,可以了解到數千種潛在的數據倉庫應用關系,這些應用將會產生大量的實體與功能關系CRUD矩陣,如表2所示。因此,在使用該矩陣時,一定要和用戶以及業務系統的使用人員保持緊密的聯系,對實體和功能關系的CRUD矩陣進行仔細的分析,存照對數據倉庫真正有用的數據源。
表2 實體與功能關系CRUD矩陣
5、企業業務處理系統數據存儲表
數據倉庫分析人員在數據倉庫的概念模型定義中還要了解組織現行業務處理系統的數據存儲方式,從中找到數據倉庫的數據映射源的物理狀況,這對數據倉庫的創建與刷新十分重要。因此,需要使用數據存儲模式表,如表3所示,將所有的數據源存儲模式列出。數據存儲表的第一列給出組織現有的各種業務處理系統,其他列為這些業務處理系統中數據的存儲模式。根據這張表,數據倉庫設計人員還需要對每個數據源進行分析:
·這些數據源存儲模式的管理者是否能為數據倉庫的建設提供某種程度的支持?
·客戶/服務器之間的聯接通過那種通信協議予以支持?
·數據源的存儲模式使用哪些數據操作語言?
在了解這些情況后,數據倉庫設計人員可將數據倉庫與特定的業務處理系統中的數據源成功地聯結在一起。在了解組織現有的數據源的存儲模式時,還要了解現有業務處理系統的數據庫是如何管理的,便于為數據倉庫與數據源的連接尋找合適的中間件。
表3 現行業務處理系統的數據存儲模式表
原文轉自:http://www.anti-gravitydesign.com