数据仓库经验小结(转)
以主題域規劃DW
?????? 主題域包含了某方面決策者關注的事物。一個主題域通常會覆蓋多個業務部門,例如產品主題域涉及到銷售、財務、物流、采購等部門。
主題域下包括了主題,例如產品主題
域中包括成本、發運、庫存等主題。
主題域模型是對業務模型的抽象,需要從決策者和管理者的角度反映企業業務模型。決策者不需要了解每個部門詳細的業務細節;銷售部門的管理者需要知道產品的庫存和采購計劃以安排銷售,但是他不知道物流部和采購部的業務流程。因此在整合多業務部門數據同時,盡量減少OLTP數據庫中的具體業務邏輯,以實現數據交付時更易于理解、更具效率。
EDW開發
?????? 在開發模式上,一種是逐個開發多個數據集市,然后將這些數據集市合并成數據倉庫。這種方法的優點是在初期效率高、見效快,但由于這些數據集市獨立運作,后期的管理、整合就會碰到問題,最后往往成為一種Hub的形式,多個數據集市支撐著一個中心數據集市。
?????? 另一種開發模式是,先開發統一的數據倉庫,然后由數據倉庫支撐多個數據集市。但這種方式在大型企業實施困難,甚至是難以實現的。
?????? 實際上比較可行的是平行開發,每開始著手新的數據集市同時,調整數據倉庫,將新的內容加入到數據倉庫中。這種模式需要一定經驗和對企業整體的了解,以便為數據倉庫的下一次調整和擴充留下空間和彈性。
?
熟悉Business Applications
企業中通常會有多種商業應用程序,比如ERP、OA、CRM、eHR、e-Business、PDM等等,這些BA會成為數據倉庫的數據源,盡管不同公司的業務模式和流程是不同的,但BA的基本概念和數據模型是差不多的。雖然已有不少的EAI(Enterprise Applications Integration)工具,但對ETL開發人員來說,了解BA的數據模型是非常必要的。如果有機會的話,多接觸接觸SAP、Oracle的各種商業應用程序。
?
ETL:性能與質量的平衡
ETL過程最重要的兩點:一是效能,二是質量。
同樣一個ETL步驟,可以這樣做:
也可以這樣做:
?
?
前者是重視ETL性能的方法,而后者是重視數據質量的方法,不同的行業在ETL過程中有不同的要求。比如電信行業,其數據多由機器采集,數據量巨大,但質量好,這時應該采用重視性能的方法;反之,某些企業存在多種信息系統,不同部門業務人員或者企業外部客戶在這些系統上作業,往往會產生不規范的數據,要保證數據質量,就要在ETL過程中,加入大量審核步驟,必然使ETL過程復雜化,性能也會下降。
ETL要在不同的環境、不同的應用中,采用不同的策略,盡量達到性能與質量的平衡。
?
數據倉庫優化小技巧
1.??? 多重粒度。數據倉庫中需要保存最細粒度的數據,而在數據集市可以保存粗粒度的數據,這樣的話從數據集市中查詢數據的性能優于數據倉庫。
2.??? 分區。分區一方面可以利用存儲設備的硬件性能;另一方面分區可獨立管理和備份,降低風險。
3.??? 索引。Oracle的索引表,SQL Server的聚類索引決定了數據物理存放方式,不同于OLTP數據庫,數據倉庫數據是每日更新的,一般不會改寫歷史數據。可以使用日期字段作為數據物理存放方式,增強數據寫入性能。
?
元數據管理
?????? 元數據的目是讓數據更容易理解。其作用有兩方面。
?????? 一方面,IT人員開發好DW,將數據交付給用戶時,需要讓用戶知道這些數據代表甚麼意思。比如說,當用戶看到產品銷售金額時,可能搞不清這個金額是開出銷售單時的金額,還是已經發運產品的金額,或是應收帳回籠的金額。另一方面,IT人員在開發好DW后,過了一段時間再回審DW中的數據時,可能已經忘記這些數據來自何種數據源,經過怎樣的ETL過程到達DW中;或者是開發人員A完成部分工作,然后將項目移交給另開發人員B時,B可能搞不懂A對數據進行了哪些處理和轉換。
?????? 元數據的實現一是靠寫文檔;二是靠工具,比如ETL工具中的元數據管理模塊讓開發人員理解數據,OLAP數據庫中為字段加入友名和描述,用戶使用BI客戶端連接到OLAP數據庫就能明白數據的意思,而不必詢問IT人員。
?????? 元數據使數據更易于理解,前提是元數據自身能讓人容易理解。在一個項目中會有多種元數據,比如ETL元數據、DW元數據、OLAP元數據、報表元數據……,最好將這些元數據制成文檔統一管理。
轉載于:https://www.cnblogs.com/Bany/archive/2011/03/02/1969182.html
總結
以上是生活随笔為你收集整理的数据仓库经验小结(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你为谁活?
- 下一篇: arcgis开发常用源码