監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產品資料
X 關閉

基于多維模型的獨立型數據集市數據轉換

申請免費試用、咨詢電話:400-8352-114

來源:泛普軟件

數據集市為用戶提供部門級的決策分析依據,其數據的可用性及其數據質量直接影響了管理者的決策。數據轉換的成功與否制約著決策者能否制訂出行之有效的決策。所以數據轉換是用戶是否能得到高質量信息進行決策分析的前提。

針對獨立型數據集市的特點,本文在基于維度的數據轉換模型基礎上本文詳細討論了基于維度模型的獨立型數據集市數據轉換的內容,并進一步研究了多段數據轉換及管道數據轉換的轉換策略。

1 數據轉換內容

獨立型的數據集市由于其抽取的數據來自OLTP(on line transaction processing,聯機事務處理)環(huán)境,因而多種類型數據源決定了獨立型數據集市的數據轉換將是ETL(Extract Transform Cleansing and Load,抽取、轉換、清洗、裝載)過程中最為復雜的一部分。數據集市以多維模型建模的特點決定了數據轉換過程可分四個主要的過程:粒度劃分、維度表的數據轉換、事實表的數據轉換及數據清洗。具體數據基本轉換過程如圖1所示。

1.1 代理關鍵字生成

代理關鍵字通常被分配成整型,并且每增加一個新鍵,會將該鍵加1。若數據轉換是在關系數據庫的管理系統(tǒng)中時,可以通過創(chuàng)建一個序列來完成代理鍵的分配。當數據抽取基于文件而不是基于數據流形式時,代理關鍵字的分配邏輯同樣也很簡單:在沒有使用數據庫序列時,應該將當前(或者下一個)代理關鍵字保存到指定的元數據中,以避免在每次為新鍵分配鍵值時都必須執(zhí)行max(代理關鍵字)+1操作。

圖1 數據轉換過程

為了能在數據集市中使用代理關鍵字,必須借助于元數據的使用,即在元數據庫中同時為每個維度維護一個永久性的主交叉引用表。交叉引用表連同屬性概況表一起,跟蹤某個時間點分配給一個操作型關鍵字的代理關鍵字。一旦維度表反映最新的抽取,那么此維度表將被元數據中心發(fā)布給使用該維度的所有數據中心。

1.2 基本數據轉換

對于維度表來說有兩種最基本的轉換:簡單數據轉換和一般數據轉換。前者包括數據類型、格式、日期/時間及維度標簽修飾等數據轉換;后者包括字段的解碼、單個字段的分離、匯總及度量單位的轉化等稍微復雜的數據轉換。維度轉換往往要借助于在元數據庫中建立的由源數據到目標數據的映射表才能完成。

1.3 代理關鍵字處理

代理關鍵字的處理主要是指在事實表轉換的過程中用代理關鍵字取代操作源關鍵字。此時,源系統(tǒng)中的關鍵字將不再被使用(演變成退化維度),而用代理關鍵字進行取代。在取代過程中,需要使用最新代理關鍵字分配表。針對每個維度對事實表進行一次遍歷,就可以快速地將遇到的每個源系統(tǒng)關鍵字用最新的代理關鍵字替換掉。

需要注意的是,在裝載歷史數據時,需要獨立的處理來執(zhí)行代理關鍵字的查找,因為不需要將最新的當前值映射到歷史數據。此時,需要創(chuàng)建代理關鍵字的查找邏輯,并且在生成事實記錄時應用該邏輯。這就意味著,當事實的事務處理日期介于代理鍵的有效開始日期與有效結束日期之間時,就應該查找代理關鍵字。

1.4 反規(guī)范化和重規(guī)范化

為了提高數據的質量,需要某些情況下從業(yè)務角度出發(fā)對數據庫執(zhí)行反規(guī)范化處理。在數據集市中,通常最好將這些實體轉軸成若干獨立列,以便簡化各種變量的計算。

在轉換過程中進行規(guī)范化處理也很常見,例如,傳統(tǒng)OLTP系統(tǒng)中,存在很多反規(guī)范化的用于報告生成的大型平面文件,此時,要將列數據縱向分割成行形式,且每一行代表來源的系統(tǒng)報告中一個月的情況,這時所要做的轉換就是先獲取數據,再將該數據從某個行逆向轉軸成某個日期列和相關數值,其中的每一行代表每個日期的情況。

1.5 參照完整性的處理

在數據轉換過程中,參照完整性是指對于事實表中的每個外鍵,在對應維度表中都會存在一個記錄。因此,當對事實表進行轉換時,若在事實表中存在的某一記錄信息,則與之相關的信息應該在維度表中得到體現。參照完整性的處理方法主要包括:

(1)對事實表數據進行質量驗收,應該生成更多的行計數與參考腳注,以便與抽取統(tǒng)計值進行比較;

(2)在代理關鍵字替代維表的主鍵以后,就應該在事實表中選取合適的鍵作為外鍵,以確保該事實表與對應的維度表之間建立了完整性參照關系;

(3)不能將空值用于事實表和維度表之間的連接操作,此時應該先使用匿名的整型鍵來執(zhí)行連接操作。

2 多階段數據轉換

2.1 多階段數據轉換的基本概念

多階段數據轉換是通過對數據轉換過程中產生的臨時表進行數據清洗,以及利用不同階段的檢查點對數據進行各種完整性及正確性檢查的策略。在進行數據轉換時,需要每一過程分解為不同的SQL操作,并創(chuàng)建不同的、臨時的階段表,為每個轉換步驟存儲結果。獨立型數據集市的數據源來自于OLTP數據庫、遺留系統(tǒng)或者各種外部文檔,ETL程序把這些不同類型數據源中的數據抽取后生成了中間文件,為數據轉換提供處理數據,該策略為整個轉換過程提供了檢查點,使得整個過程更加容易監(jiān)視和重新啟動。

多階段數據轉換除了可以較容易的根據用戶的定制實現各種類型的數據轉換,在數據集市的DBMS與數據源的DBMS是異構并且需要XML文件作為中間媒介的情況下,可以利用多階段數據轉換將抽取生成的XML文件轉換成與數據集市同構的DMBS,然后再進行其它階段的轉換。多階段數據轉換大多是在數據庫之外,在成功的完成數據轉換和清洗工作后,新數據被載入到數據庫。

2.2 維度表轉換

針對本文提出的轉換過程,獨立型數據集市的數據轉換的過程可以劃分為兩個父階段(維度表轉換和事實表轉換)和一個基本過程(粒度劃分),每一個父階段又可以劃分為若干小的子階段,如維度表轉換就可以再劃分為代理關鍵字生成、數據清洗、基本數據轉換三個子階段。而基本數據轉換根據不同需要又可分為簡單轉換和一般數據轉換(參見1.2中的內容)。維度表多階段轉換具體實現策略如圖2所示。

圖2 多階段維度表轉換策略

發(fā)布:2007-04-25 16:47    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
相關文章:

泛普泛普博客其他應用

泛普OA商務合同 泛普OA需求調研 泛普OA實施方案 泛普OA項目啟動 泛普網絡硬件配置 泛普OA部署安裝 泛普流程模板表單 OA系統(tǒng)二次開發(fā) 泛普常見問題解決 泛普OA操作手冊 泛普軟件項目驗收 泛普培訓推廣上線 泛普OA售后服務 泛普新聞 泛普期刊 泛普博客