柚子快報(bào)邀請碼778899分享:大數(shù)據(jù) 初識(shí)數(shù)據(jù)倉庫
柚子快報(bào)邀請碼778899分享:大數(shù)據(jù) 初識(shí)數(shù)據(jù)倉庫
1、什么是數(shù)據(jù)倉庫(數(shù)倉)
數(shù)據(jù)倉庫,英文名稱為Data Warehouse,可簡寫為DW或DWH。數(shù)據(jù)倉庫的目的是構(gòu)建==面向分析的集成化數(shù)據(jù)環(huán)境,為企業(yè)提供決策支持==(Decision Support)。它出于分析性報(bào)告和決策支持目的而創(chuàng)建。
MySQL數(shù)據(jù)庫 => 面向事務(wù)的集成化數(shù)據(jù)環(huán)境;但是DW則是面向分析的集成化數(shù)據(jù)環(huán)境,主要實(shí)現(xiàn)數(shù)據(jù)的寫入與數(shù)據(jù)分析,很少有數(shù)據(jù)的修改操作!
數(shù)據(jù)倉庫本身并不“生產(chǎn)”任何數(shù)據(jù),同時(shí)自身也不需要“消費(fèi)”任何的數(shù)據(jù),數(shù)據(jù)來源于外部,并且開放給外部應(yīng)用,這也是為什么叫“倉庫”,而不叫“工廠”的原因。
2、數(shù)據(jù)倉庫的主要特征
數(shù)據(jù)倉庫是面向主題的(Subject-Oriented )、集成的(Integrated)、非易失的(Non-Volatile)和時(shí)變的(Time-Variant )數(shù)據(jù)集合,用以支持管理決策 。
☆ 面向主題(確認(rèn)要分析什么,什么就是主題)
主題是一個(gè)抽象的概念,是較高層次上企業(yè)信息系統(tǒng)中的數(shù)據(jù)綜合、歸類并進(jìn)行分析利用的抽象。
☆ 集成性
通過對分散、獨(dú)立、異構(gòu)的數(shù)據(jù)庫數(shù)據(jù)進(jìn)行抽取、清理、轉(zhuǎn)換和匯總便得到了數(shù)據(jù)倉庫的數(shù)據(jù)
數(shù)據(jù)倉庫中的綜合數(shù)據(jù)不能從原有的數(shù)據(jù)庫系統(tǒng)直接得到。因此在數(shù)據(jù)進(jìn)入數(shù)據(jù)倉庫之前,必然要經(jīng)過統(tǒng)一與綜合,這一步是數(shù)據(jù)倉庫建設(shè)中最關(guān)鍵、最復(fù)雜的一步,所要完成的工作有:
(1)要統(tǒng)一源數(shù)據(jù)中所有矛盾之處,如字段的同名異義、異名同義、單位不統(tǒng)一、字長不一致,等等。
(2)進(jìn)行數(shù)據(jù)綜合和計(jì)算。數(shù)據(jù)倉庫中的數(shù)據(jù)綜合工作可以在從原有數(shù)據(jù)庫抽取數(shù)據(jù)時(shí)生成,但許多是在數(shù)據(jù)倉庫內(nèi)部生成的,即進(jìn)入數(shù)據(jù)倉庫以后進(jìn)行綜合生成的。
比如說一個(gè)保險(xiǎn)公司綜合數(shù)據(jù)的簡單處理過程,其中數(shù)據(jù)倉庫中與“保險(xiǎn)”主題有關(guān)的數(shù)據(jù)來自于多個(gè)不同的操作型系統(tǒng)。這些系統(tǒng)內(nèi)部數(shù)據(jù)的命名可能不同,數(shù)據(jù)格式也可能不同。把不同來源的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)倉庫之前,需要去除這些不一致。
☆ 非易失性(不可更新性)
操作型數(shù)據(jù)庫主要服務(wù)于日常的業(yè)務(wù)操作,使得數(shù)據(jù)庫需要不斷地對數(shù)據(jù)實(shí)時(shí)更新,以便迅速獲得當(dāng)前最新數(shù)據(jù),不至于影響正常的業(yè)務(wù)運(yùn)作。在數(shù)據(jù)倉庫中只要保存過去的業(yè)務(wù)數(shù)據(jù),不需要每一筆業(yè)務(wù)都實(shí)時(shí)更新數(shù)據(jù)倉庫,而是根據(jù)商業(yè)需要每隔一段時(shí)間把一批較新的數(shù)據(jù)導(dǎo)入數(shù)據(jù)倉庫。
數(shù)據(jù)倉庫的數(shù)據(jù)反映的是一段相當(dāng)長的時(shí)間內(nèi)歷史數(shù)據(jù)的內(nèi)容(離線數(shù)據(jù))
數(shù)據(jù)非易失性主要是針對應(yīng)用而言。數(shù)據(jù)倉庫的用戶對數(shù)據(jù)的操作大多是數(shù)據(jù)查詢或比較復(fù)雜的挖掘,一旦數(shù)據(jù)進(jìn)入數(shù)據(jù)倉庫以后,一般情況下被較長時(shí)間保留。數(shù)據(jù)倉庫中一般有大量的查詢操作,但修改和刪除操作很少。因此,數(shù)據(jù)經(jīng)加工和集成進(jìn)入數(shù)據(jù)倉庫后是極少更新的,通常只需要定期的加載和更新。
☆ 時(shí)變性
數(shù)據(jù)倉庫包含各種粒度的歷史數(shù)據(jù)。數(shù)據(jù)倉庫中的數(shù)據(jù)可能與某個(gè)特定日期、星期、月份、季度或者年份有關(guān)。數(shù)據(jù)倉庫的目的是通過分析企業(yè)過去一段時(shí)間業(yè)務(wù)的經(jīng)營狀況,挖掘其中隱藏的模式。
雖然數(shù)據(jù)倉庫的用戶不能修改數(shù)據(jù),但并不是說數(shù)據(jù)倉庫的數(shù)據(jù)是永遠(yuǎn)不變的。分析的結(jié)果只能反映過去的情況,當(dāng)業(yè)務(wù)變化后,挖掘出的模式會(huì)失去時(shí)效性。因此數(shù)據(jù)倉庫的數(shù)據(jù)需要更新,以適應(yīng)決策的需要。從這個(gè)角度講,數(shù)據(jù)倉庫建設(shè)是一個(gè)項(xiàng)目,更是一個(gè)過程 。數(shù)據(jù)倉庫的數(shù)據(jù)隨時(shí)間的變化表現(xiàn)在以下幾個(gè)方面:
① 數(shù)據(jù)倉庫的數(shù)據(jù)時(shí)限一般要遠(yuǎn)遠(yuǎn)長于操作型數(shù)據(jù)的數(shù)據(jù)時(shí)限。
② 操作型系統(tǒng)存儲(chǔ)的是當(dāng)前數(shù)據(jù),而數(shù)據(jù)倉庫中的數(shù)據(jù)是歷史數(shù)據(jù)。
③ 數(shù)據(jù)倉庫中的數(shù)據(jù)是按照時(shí)間順序追加的,它們都帶有時(shí)間屬性。
面向主題分析,經(jīng)常要與時(shí)間相關(guān),所以SQL語句經(jīng)常需要對時(shí)間進(jìn)行分析查詢
3、數(shù)據(jù)倉庫與數(shù)據(jù)庫區(qū)別
數(shù)據(jù)庫與數(shù)據(jù)倉庫的區(qū)別實(shí)際講的是OLTP與OLAP的區(qū)別。
操作型處理,叫聯(lián)機(jī)事務(wù)處理OLTP(On-Line Transaction Processing,),也可以稱面向交易的處理系統(tǒng),它是針對具體業(yè)務(wù)在數(shù)據(jù)庫聯(lián)機(jī)的日常操作,通常對少數(shù)記錄進(jìn)行查詢、修改。用戶較為關(guān)心操作的響應(yīng)時(shí)間、數(shù)據(jù)的安全性、完整性和并發(fā)支持的用戶數(shù)等問題。傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)作為數(shù)據(jù)管理的主要手段,主要用于操作型處理。
分析型處理,叫聯(lián)機(jī)分析處理OLAP(On-Line Analytical Processing)一般針對某些主題的歷史數(shù)據(jù)進(jìn)行分析,支持管理決策。
首先要明白,數(shù)據(jù)倉庫的出現(xiàn),并不是要取代數(shù)據(jù)庫:數(shù)據(jù)庫是面向事務(wù)的設(shè)計(jì),數(shù)據(jù)倉庫是面向主題設(shè)計(jì)的。數(shù)據(jù)庫一般存儲(chǔ)業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)倉庫存儲(chǔ)的一般是歷史數(shù)據(jù)。數(shù)據(jù)庫設(shè)計(jì)是盡量避免冗余,一般針對某一業(yè)務(wù)應(yīng)用進(jìn)行設(shè)計(jì),比如一張簡單的User表,記錄用戶名、密碼等簡單數(shù)據(jù)即可,符合業(yè)務(wù)應(yīng)用,但是不符合分析。數(shù)據(jù)倉庫在設(shè)計(jì)是有意引入冗余,依照分析需求,分析維度、分析指標(biāo)進(jìn)行設(shè)計(jì)。數(shù)據(jù)庫是為捕獲數(shù)據(jù)而設(shè)計(jì),數(shù)據(jù)倉庫是為分析數(shù)據(jù)而設(shè)計(jì)。
數(shù)據(jù)倉庫,是在數(shù)據(jù)庫已經(jīng)大量存在的情況下,為了進(jìn)一步挖掘數(shù)據(jù)資源、為了決策需要而產(chǎn)生的,它決不是所謂的“大型數(shù)據(jù)庫”。
對比:數(shù)據(jù)庫(OLTP)與數(shù)據(jù)倉庫(OLAP)區(qū)別
① 數(shù)據(jù)庫是事務(wù)型OLTP處理,支持增刪改查操作;數(shù)據(jù)倉庫是面向主題OLAP型應(yīng)用,主要是查詢操作,很少有更新與刪除
② 數(shù)據(jù)量不同,數(shù)據(jù)庫數(shù)據(jù)量較少;數(shù)據(jù)倉庫往往是海量數(shù)據(jù)(底層是HDFS)
③ 存儲(chǔ)數(shù)據(jù)時(shí)效性不同,數(shù)據(jù)庫往往是當(dāng)前數(shù)據(jù),數(shù)倉往往歷史數(shù)據(jù)(離線)
④ 查詢速度也有很大區(qū)別,數(shù)據(jù)庫往往是低延遲,數(shù)據(jù)倉庫往往是高延遲查詢
4、數(shù)據(jù)倉庫分層架構(gòu)(重點(diǎn))
按照數(shù)據(jù)流入流出的過程,數(shù)據(jù)倉庫架構(gòu)可分為三層——源數(shù)據(jù)、數(shù)據(jù)倉庫、數(shù)據(jù)應(yīng)用。
數(shù)據(jù)倉庫的數(shù)據(jù)來源于不同的源數(shù)據(jù),并提供多樣的數(shù)據(jù)應(yīng)用,數(shù)據(jù)自下而上流入數(shù)據(jù)倉庫后向上層開放應(yīng)用,而數(shù)據(jù)倉庫只是中間集成化數(shù)據(jù)管理的一個(gè)平臺(tái)。
源數(shù)據(jù)層(ODS):此層數(shù)據(jù)無任何更改,直接沿用外圍系統(tǒng)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù),不對外開放;為臨時(shí)存儲(chǔ)層,是接口數(shù)據(jù)的臨時(shí)存儲(chǔ)區(qū)域,為后一步的數(shù)據(jù)處理做準(zhǔn)備。數(shù)據(jù)倉庫層(DW):也稱為細(xì)節(jié)層,DW層的數(shù)據(jù)應(yīng)該是一致的、準(zhǔn)確的、干凈的數(shù)據(jù),即對源系統(tǒng)數(shù)據(jù)進(jìn)行了清洗(去除了雜質(zhì))后的數(shù)據(jù)。數(shù)據(jù)應(yīng)用層(DA或APP):前端應(yīng)用直接讀取的數(shù)據(jù)源;根據(jù)報(bào)表、專題分析需求而計(jì)算生成的數(shù)據(jù)。
數(shù)據(jù)倉庫從各數(shù)據(jù)源獲取數(shù)據(jù)及在數(shù)據(jù)倉庫內(nèi)的數(shù)據(jù)轉(zhuǎn)換和流動(dòng)都可以認(rèn)為是ETL(抽取Extra, 轉(zhuǎn)化Transfer, 裝載Load)的過程,ETL是數(shù)據(jù)倉庫的流水線,也可以認(rèn)為是數(shù)據(jù)倉庫的血液,它維系著數(shù)據(jù)倉庫中數(shù)據(jù)的新陳代謝,而數(shù)據(jù)倉庫日常的管理和維護(hù)工作的大部分精力就是保持ETL的正常和穩(wěn)定。
為什么要對數(shù)據(jù)倉庫分層?
用空間換時(shí)間,通過大量的預(yù)處理來提升應(yīng)用系統(tǒng)的用戶體驗(yàn)(效率),因此數(shù)據(jù)倉庫會(huì)存在大量冗余的數(shù)據(jù);不分層的話,如果源業(yè)務(wù)系統(tǒng)的業(yè)務(wù)規(guī)則發(fā)生變化將會(huì)影響整個(gè)數(shù)據(jù)清洗過程,工作量巨大。
通過數(shù)據(jù)分層管理可以簡化數(shù)據(jù)清洗的過程,因?yàn)榘言瓉硪徊降墓ぷ鞣值搅硕鄠€(gè)步驟去完成,相當(dāng)于把一個(gè)復(fù)雜的工作拆成了多個(gè)簡單的工作,把一個(gè)大的黑盒變成了一個(gè)白盒,每一層的處理邏輯都相對簡單和容易理解,這樣我們比較容易保證每一個(gè)步驟的正確性,當(dāng)數(shù)據(jù)發(fā)生錯(cuò)誤的時(shí)候,往往我們只需要局部調(diào)整某個(gè)步驟即可。
提煉要點(diǎn)就是:
① 清晰的數(shù)據(jù)結(jié)構(gòu) ② 實(shí)現(xiàn)血緣追蹤(數(shù)據(jù)治理中的一個(gè)概念) ③ 減少重復(fù)開發(fā) ④ 把復(fù)雜問題簡單化:大問題拆解若干個(gè)小問題 性,當(dāng)數(shù)據(jù)發(fā)生錯(cuò)誤的時(shí)候,往往我們只需要局部調(diào)整某個(gè)步驟即可。
提煉要點(diǎn)就是:
① 清晰的數(shù)據(jù)結(jié)構(gòu) ② 實(shí)現(xiàn)血緣追蹤(數(shù)據(jù)治理中的一個(gè)概念) ③ 減少重復(fù)開發(fā) ④ 把復(fù)雜問題簡單化:大問題拆解若干個(gè)小問題 ⑤ 屏蔽原始數(shù)據(jù)異常
柚子快報(bào)邀請碼778899分享:大數(shù)據(jù) 初識(shí)數(shù)據(jù)倉庫
推薦文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。