1. 程式人生 > >資料倉庫EDW層資料整合整合的思考

資料倉庫EDW層資料整合整合的思考

比爾*門恩(Bill Inmon)給出了資料倉庫這樣一個定義,資料倉庫是在企業管理和決策中面向主題的、整合的、與時間相關的、不可修改的資料集合。今天單就資料倉庫的整合整合特性進行思考,我想資料倉庫的整合性大致主要體現在如下幾個方面。
1、將企業相關IT系統經過面向主題的處理,本身就是一種整合
1.1、不同系統、不同業務邏輯的相關資料在各主題的統一
1.2、不同系統、相似業務邏輯的相關資料在同一主題內或主題之間的資料整合
2、統一的命名規範
2.1、表名、欄位名、儲存過程名以及使用者名稱的統一規劃命名
如:表名或欄位名統一使用英文大寫字母和固定的欄位英文簡稱,如“LOAN_CONTRACT_NO”表示貸款合同編號;表名相同主題下具有相同的字首;每一欄位和表都要求有必要的註釋等。
2.2、程式碼欄位、標誌欄位統一新增字尾處理
如:為與其他鍵及屬性欄位區分,程式碼欄位、標誌欄位統一新增“_CD”、“_FLAG”字尾。
2.3、相同欄位在不同倉庫表裡統一用同一個列名及相應的註釋
3、相同及相似欄位的Domain處理
3.1對於相同欄位在不同資料倉庫表裡,其欄位型別用Domain統一處理
3.2對於有需要的可以處理為同一欄位型別的不同欄位,也使用Domain統一處理
4、公共程式碼及程式碼值的統一
4.1、公共程式碼及標誌性欄位,其欄位資料型別、命名方式等的統一
4.2、公共程式碼及標誌欄位,相對於源系統其程式碼值的統一
如:標誌可用“0”表示“否”,“1”表示“是”;對於來源於不同業務系統的具有相同業務含義的公共程式碼,其程式碼值需要進行統一,對外代表的是資料倉庫的統一標準程式碼(當然,資料倉庫的標準程式碼可能跟某一源系統的程式碼相同,其他系統的程式碼值經業務分析後向那一個源系統靠近和統一)。
對於程式碼值的整合,如果不想太費勁分析,那麼就
用“源系統編號||源系統程式碼值”生成資料倉庫的程式碼值,這應該叫做公共程式碼值的輕度整合

5、業務含義相同,表結構有相同含義欄位的表的整合
根據整合的程度或專案的實際需要,通常有如下整合方式:
5.1、採用主從表的設計方式,兩表或多表都有的欄位放在主表中(主要基本資訊),從屬修改資訊分別放在各自的從表中
對於主表中的主鍵,要麼採用複合主鍵,源主鍵和系統或表區別標誌;要麼採用唯一主鍵,“源主鍵||系統或表區別標誌”生成新的主鍵。通常建議採用複合主鍵的方式。
5.2、進行兩表的直接合並,共有資訊和個性資訊都放在一個表中
採用此種直接合並的方式,會出現大量空值,不利於系統儲存和效能的提升;如果表字段的重合度在80%以下,不建議採用此方式。
5.3、雖然有相同的業務邏輯,但兩源表的表結構及主鍵等卻大相徑庭
這種情況已經沒有辦法合併,所以索性就不合並,使用兩個資料倉庫裡的表存放各自資料;不合並不代表不整合,其整合整合特性在其他方面依然有體現
6、各主題內總分模式表間關係
主要主題內都會有一個總表統籌主題內各表,他是該主題內的精神核心有時此表在模型中有,但並不物理化,所以稱之為精神核心)。當然並非所有主題都具體這種總分架構,對於主要主題是都存在著的。
7、各主題間關聯關係
各個主題間的連線關係通過主題間關係表進行關聯。這些關係表,通常來源於源業務系統已經存在著的表間關係,並非資料倉庫製造。
8、相關聯表的相似屬性集中儲存
相關聯的表的相似屬性集中在同一張表中儲存
,這樣一是便於查詢,再是使儲存效率更好;此種情況還較多的用於進行歷史拉鍊資料儲存的情況。
如:協議狀態歷史,會儲存貸款合同、貸款借據、授信合同等協議型別的狀態相應屬性值;為了資料儲存效率高效,採用歷史拉鍊表記錄協議記錄的全景資訊,節省了空間且提高了資料的取數效率。
9、其他的一些處理
資料倉庫最大的整合就是根據源系統的業務進行分析,在資料倉庫中重新組織和儲存資料。如,刪除無用無效的列欄位、過濾無意義的表或記錄、資料關聯程式碼轉換、資料型別轉換、源系統不同表進行組合與關聯儲存等。
資料倉庫巨量資料產生,通常來自於兩方面的原因:一是集成了企業內各業務系統,各系統資料的累加;二是儲存了大量的時間序列流水資料。所以在倉庫資料架構最優化的同時,我們在資料倉庫處理的時候就必須進行有效的篩選和清洗,防止無用資料佔用大量儲存空間。