對(duì)于數(shù)據(jù)倉庫以及ETL的知識(shí),我基本上是個(gè)門外漢。一切都得從頭開始,記個(gè)筆記,方便自已了解學(xué)習(xí)進(jìn)度。
首先,我們來了解最基本的定義:
嗯,也有人將ETL簡(jiǎn)單稱為數(shù)據(jù)抽取。至少在未學(xué)習(xí)之前,領(lǐng)導(dǎo)告訴我的是,你需要做一個(gè)數(shù)據(jù)抽取的工具。
其實(shí)呢,抽取是ETL中的關(guān)鍵環(huán)節(jié),顧名思義,也就將數(shù)據(jù)從不同的數(shù)據(jù)源中抓取(復(fù)制)出來。
太簡(jiǎn)單了!
上面的解釋無首無尾,有點(diǎn)象能讓你吃飽的第七個(gè)燒餅,
仔細(xì)一想,抽取是不可能單獨(dú)存在,我們需要將與之關(guān)聯(lián)的一些其它環(huán)節(jié)拿出來。
于是,得到ETL的定義:
將數(shù)據(jù)抽取(Extract)、轉(zhuǎn)換(Transform)、清洗(Cleansing)、裝載(Load)的過程。
好的,既然到了這一個(gè)層次,我們完全會(huì)進(jìn)一步展開聯(lián)想,引出上面這個(gè)抽象事件的前因后果,
抽取的源在哪里?
裝載的目的又是什么呢?
抽取源:大多數(shù)情況下,可以認(rèn)為是關(guān)系數(shù)據(jù)庫,專業(yè)一點(diǎn),就是事務(wù)處理系統(tǒng)(OLTP)。當(dāng)然,廣義一點(diǎn),可能會(huì)是其它數(shù)據(jù)庫或者是文件系統(tǒng)。
目的地:OK,我們希望是數(shù)據(jù)倉庫。數(shù)據(jù)倉庫是啥?在學(xué)習(xí)之前,它對(duì)我來說是個(gè)抽象的怪物,看過一些簡(jiǎn)單的資料之后,才了解這個(gè)怪物一點(diǎn)都不怪。堆積用來分析的數(shù)據(jù)的倉庫。是了,是用來分析的,于是,它區(qū)別于OLTP中的數(shù)據(jù)存儲(chǔ)。
然后,我們來看看為什么要ETL?
在我看來,有兩個(gè)原因。
一:性能 將需要分析的數(shù)據(jù)從OLTP中抽離出來,使分析和事務(wù)處理不沖突。咦?這不是數(shù)據(jù)倉庫的效果嗎?是了,
數(shù)據(jù)倉庫,大多數(shù)情況下,也就是通過ETL工具來生成地。
二:控制 用戶可以完全控制從OLTP中抽離出來的數(shù)據(jù),擁有了數(shù)據(jù),也就擁有了一切。
嗯,OLAP分析,數(shù)據(jù)挖掘等等等……。
最后,總結(jié)一下,
從資料上看,ETL是一門大學(xué)問,對(duì)于大學(xué)問,實(shí)在有些怕怕,所以,我覺得應(yīng)該停下來想一想,下一步我該干點(diǎn)啥?
嗯,時(shí)不我待,我沒有辦法一切從頭開始,
是了,從應(yīng)用出發(fā),看看現(xiàn)在工作中,最急需的是什么?
鴨子要變成一盤菜,并不是舉手將之置于油鍋之勞。
OK,要將生米變?yōu)槭祜垼喿臃派洗蟊P,一堆廢話之后,我得先看看廚房里都有了一些啥?