ETL學習筆記之二:ETL與BI
ETL為數據倉庫服務,數據倉庫用于數據分析,數據分析屬于BI系統的要干的事兒。
一般中/小型ERP系統都會有不成熟的BI系統,為啥叫做不成熟?
因為它們或者有報表分析功能,但不具有OLAP(在線分析),或者有OLAP,但卻沒有數據挖掘和深度分析。或者干脆,來個大集成,直接利用第三方工具來達到相應的目的。
為什么會這樣,究其原因,很多情況是因為沒有自主的數據倉庫,沒有數據倉庫,其它的做起來也就有些四不象了。而要建立數據倉庫,首要的是:ETL。
于是,需求就應運而生了。
對了,BI是什么?OLAP是啥?什么又是數據挖掘?鑒于我只能解釋其表面含義,我就不多說了。各位不妨找本數據倉庫的書,翻翻前幾頁,一般就明白了。或者Google一把。
我們撿當下最流行的BI應用:OLAP來說說它與ETL的關系。
了解OLAP的人都知道,它的分析模型由事實表和維表組成。但往往OLTP系統中的數據庫是為事務而建,而并不為分析而建,而為了BI去改動OLTP數據庫是不現實,并且,很多情況下也基本上是不可能的(當然,有些公司把不可能的任務變成可能的,但這顯然是一種很僵硬的做法)。
這時候,ETL的作用就顯出來了,它可以為OLAP服務,按業務主題提取分析模型進行數據抽取。
{天面試有一個問題是:星型模型與雪花模型的比較,何時用星型模型,何時需要用雪花模型
星型模式:是一種使用關系數據庫實現多維分析空間的模式,用星型模型可以通過關系數據庫來模擬OLAP模式。 使用關系數據庫+星型模型能夠優化存儲并且保持數據結構的靈活性。
OLAP多維數據模型對數據做預先計算,建成多維數據立方體,它需要很大的內存以存儲所有事實。無論是稠密緯合適稀疏維,無論數據塊否包含事實,都必須要預留單元。星型模式的基本思想就是保持立方體的多維功能,同時也增加了小規模數據存儲的靈活性。
雪花模式
有時候,需要對星型模式的維度需要進行規范化,這時,星型模式就演進為雪花模式。
原因是基本的星型模式并不能滿足數據挖掘的所有需要。
(1)我們需要更復雜的維度,例如時間。分析員希望根據周、月、季度等識別模式。
(2)維度必須進行規范化。我們不需要冗余的維度表,這只會使數據切片變得更加復雜。這種過程中我們得到的模式被稱為雪花模式。
(3)另外一個原因需要把星型模型變成雪花模型:就是當存在多對多的關聯時,無法在關系數據庫中實現,需要使用雪花模式。雪花模式中可以存在切片,切塊。
再說說數據挖掘:
這個課題實在太大,相關的書藉有很多很多,我還得花時間慢慢去學習。簡單的說,這涉及ERP業務和統計學的知識。現在我暫時還沒開始相關學習,但它與ETL的關系卻很明顯。因為數據挖掘所要求的數據大都是高聚合的已處理的數據,所以,不管從獲取難度和效率上來說,都不適合直接從OLTP中獲取。
同樣,需要ETL來幫忙。
因此,按本人粗淺的理解:
ETL實在是: BI系統 設計開發,項目實施 之必備良藥!
有句名言講得好:成為巨人不如站在巨人的肩膀上。
如果想對ETL有詳盡的了解,不妨先了解一下現有流行的ETL工具。
posted on 2011-10-31 13:11 順其自然EVO 閱讀(298) 評論(0) 編輯 收藏 所屬分類: 數據庫