數據倉庫 - 2.數據倉庫設計思路及ETL設計思路


一、數據倉庫構建思想

構造數據倉庫有兩種方式:一是自上而下,一是自下而上。

Bill Inmon先生推崇“自上而下”的方式,即一個企業建立唯一的數據中心,就像一個數據的倉庫,其中數據是經過整合、經過清洗、去掉臟數據的、標准的,能夠提供統一的視圖。要建立這樣的數據倉庫,並不從它需要支持哪些應用入手,而是要從整個企業的環境入手,分析其中的概念,應該有什么樣的數據,達成概念完成整;(會考慮到很全面的設計)

Ralph Kimball先生推崇“自下而上”的方式,他認為建設數據倉庫應該按照實際的應用需求,加載需要的數據,不需要的數據不要加載到數據倉庫中。這種方式建設周期較短,客戶能夠很快看到結果。(針對客戶的需求,需求要什么就做什么)

二者都要達到同一個目標:企業級數據倉庫。實際上在建設數據倉庫的時候,一般都參照這兩種方式結合使用沒有硬性規定。

二、ETL(Extract/Transformation/Load)

用戶從數據源中抽取所需的數據,經過數據清洗、轉換,最終按照預先定義好的數據倉庫模型,將數據加載到數據倉庫中去;ETL是數據倉庫系統中最重要的概念之一,ETL在一個數據倉庫系統項目中要花一半以上的時間。

1) ETL調度目標

數據來源:數據庫、數據庫文件、文本文件、程序生成(派生列)

系統數目:單個系統、多個系統(過多的系統可以考慮接口實現)

數據庫的類型:同種數據庫/多種數據庫

2) ETL調度參數設計

調度優先級/調度次序/中斷標志/回滾標志/成功標志/調度開始結束時間等

3) ETL調度日志管理

文件記錄/數據庫記錄

作業名稱/作業執行開始-結束時間/作業執行結果/異常信息捕獲/作業編號等

4) ETL調度JOB設計

數據文本文件加載/SQL在程序中調用/存儲過程/ETL工具的WORKFOLW

5) ETL調度策略設計

全量數據加載:用戶信息類數據,狀態會更新發生變化的數據

增量數據加載:流水分批調度設計,抽取數據一般在比較閑暇的時候進行,凌晨時候比較多,而且按照要分析數據的周期,還分為按日、按月數據;由於涉及到的業務系統的數據量龐大,需要分批進行抽取,以及抽取數據后面的一系列處理過程。

調度並發設計:JOB並發涉及、並發沖突設計、異常處理設計、成功/錯誤退出方式

三、存儲管理和模型設計

數據倉庫的真正關鍵是數據的存儲和管理。數據倉庫一般遇到的幾個問題:

1)大數據量的存儲和管理

數據庫的設計,安裝、集成根據數據抽取詳細設計要求設計數據庫應用方案等;

2)針對決策支持查詢的優化

分區表、索引、簇集索引、MQT、SQL優化等方式。

3)支持多維分析的查詢方式

是否有相關報表軟件及查詢方式的優化。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM