ETL學習筆記之一:ETL是什么?
對于數據倉庫以及ETL的知識,我基本上是個門外漢。一切都得從頭開始,記個筆記,方便自已了解學習進度。
首先,我們來了解最基本的定義:
嗯,也有人將ETL簡單稱為數據抽取。至少在未學習之前,領導告訴我的是,你需要做一個數據抽取的工具。
其實呢,抽取是ETL中的關鍵環節,顧名思義,也就將數據從不同的數據源中抓取(復制)出來。
太簡單了!
上面的解釋無首無尾,有點象能讓你吃飽的第七個燒餅,
仔細一想,抽取是不可能單獨存在,我們需要將與之關聯的一些其它環節拿出來。
于是,得到ETL的定義:
將數據抽取(Extract)、轉換(Transform)、清洗(Cleansing)、裝載(Load)的過程。
好的,既然到了這一個層次,我們完全會進一步展開聯想,引出上面這個抽象事件的前因后果,
抽取的源在哪里?
裝載的目的又是什么呢?
抽取源:大多數情況下,可以認為是關系數據庫,專業一點,就是事務處理系統(OLTP)。當然,廣義一點,可能會是其它數據庫或者是文件系統。
目的地:OK,我們希望是數據倉庫。數據倉庫是啥?在學習之前,它對我來說是個抽象的怪物,看過一些簡單的資料之后,才了解這個怪物一點都不怪。堆積用來分析的數據的倉庫。是了,是用來分析的,于是,它區別于OLTP中的數據存儲。
然后,我們來看看為什么要ETL?
在我看來,有兩個原因。
一:性能 將需要分析的數據從OLTP中抽離出來,使分析和事務處理不沖突。咦?這不是數據倉庫的效果嗎?是了,
數據倉庫,大多數情況下,也就是通過ETL工具來生成地。
二:控制 用戶可以完全控制從OLTP中抽離出來的數據,擁有了數據,也就擁有了一切。
嗯,OLAP分析,數據挖掘等等等……。
最后,總結一下,
從資料上看,ETL是一門大學問,對于大學問,實在有些怕怕,所以,我覺得應該停下來想一想,下一步我該干點啥?
嗯,時不我待,我沒有辦法一切從頭開始,
是了,從應用出發,看看現在工作中,最急需的是什么?
鴨子要變成一盤菜,并不是舉手將之置于油鍋之勞。
OK,要將生米變為熟飯,鴨子放上大盤,一堆廢話之后,我得先看看廚房里都有了一些啥?
posted on 2011-10-31 13:12 順其自然EVO 閱讀(235) 評論(0) 編輯 收藏 所屬分類: 數據庫