探秘Hadoop生态6:Hive技术初探与实践入门
數(shù)據(jù)倉庫_總結(jié)
?
一,數(shù)據(jù)類型
數(shù)據(jù)儲存庫將包括關(guān)系數(shù)據(jù)庫、數(shù)據(jù)倉庫、事務(wù)數(shù)據(jù)庫、高級數(shù)據(jù)庫系統(tǒng)、一般文件、數(shù)據(jù)流和萬維網(wǎng)。高級數(shù)據(jù)庫系統(tǒng)包括對象-關(guān)系數(shù)據(jù)庫和面向特殊應(yīng)用的數(shù)據(jù)庫,如空間數(shù)據(jù)庫、時間序列數(shù)據(jù)庫、文本數(shù)據(jù)庫和多媒體數(shù)據(jù)庫。
1.1關(guān)系數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫是表的匯集,每個表都賦予唯一的名字。每個表包含一組屬性(列或字段),通常存放大量元組(記錄或行)。關(guān)系表中的每個元組代表一個對象,被唯一的關(guān)鍵字標(biāo)識,并被一組屬性值描述。通常為關(guān)系數(shù)據(jù)庫構(gòu)造語義數(shù)據(jù)模型,如實體-聯(lián)系(ER)模型。ER數(shù)據(jù)模型將數(shù)據(jù)庫表示成一組實體和它們之間的聯(lián)系。
1.2數(shù)據(jù)倉庫
數(shù)據(jù)倉庫通過數(shù)據(jù)清理、數(shù)據(jù)變換、數(shù)據(jù)集成、數(shù)據(jù)裝入和定期數(shù)據(jù)刷新過程來構(gòu)造。
為便于決策,數(shù)據(jù)倉庫中的數(shù)據(jù)圍繞諸如顧客、商品、供應(yīng)商和活動等主題組織。數(shù)據(jù)存儲從歷史的角度(如過去的5~10年)提供信息,并且通常是匯總的。
通常,數(shù)據(jù)倉庫用多維數(shù)據(jù)庫結(jié)構(gòu)建模。其中,每個維對應(yīng)于模式中一個或一組屬性,每個單元存放某種聚集度量值,如count或sales_amount。數(shù)據(jù)倉庫的實際物理結(jié)構(gòu)可以是關(guān)系數(shù)據(jù)存儲或多維數(shù)據(jù)立方體(multidimensional data cube)。數(shù)據(jù)立方體提供數(shù)據(jù)的多維視圖,并允許預(yù)計算和快速訪問匯總數(shù)據(jù)。
1.3?數(shù)據(jù)集市
你可能會問:“我聽說過數(shù)據(jù)集市。數(shù)據(jù)倉庫和數(shù)據(jù)集市的區(qū)別是什么?”數(shù)據(jù)倉庫收集了跨部門的整個組織的主題信息,因此它是企業(yè)范圍的。另一方面,數(shù)據(jù)集市(data mart)是數(shù)據(jù)倉庫的一個部門子集。它聚焦在選定的主題上,是部門范圍的。
1.4聯(lián)機(jī)分析處理OLAP
通過提供多維數(shù)據(jù)視圖和匯總數(shù)據(jù)的預(yù)計算,數(shù)據(jù)倉庫非常適合聯(lián)機(jī)分析處理(OLAP)。OLAP操作使用數(shù)據(jù)的領(lǐng)域背景知識,允許在不同的抽象層提供數(shù)據(jù)。這些操作適合不同的用戶。OLAP操作的例子包括下鉆(drill-down)和上卷(roll-up),允許用戶在不同的匯總級別觀察數(shù)據(jù)。
?
?
1.5?事務(wù)數(shù)據(jù)庫
一般,事務(wù)數(shù)據(jù)庫由一個文件組成,其中每個記錄代表一個事務(wù)。通常,一個事務(wù)包含唯一的事務(wù)標(biāo)識號(trans_ID)和組成該事務(wù)的項的列表(如,在商店購買的商品)。事務(wù)數(shù)據(jù)庫可能有一些與之相關(guān)聯(lián)的附加表,包含關(guān)于銷售的其他信息,如事務(wù)的日期、顧客的ID號、銷售者的ID號、銷售分店的ID號,等等。
1.6?綜合決策支持系統(tǒng)
把數(shù)據(jù)倉庫、OLAP、數(shù)據(jù)挖掘和模型庫結(jié)合起來即形成綜合決策支持系統(tǒng);其中的數(shù)據(jù)倉庫用來實現(xiàn)對決策主題數(shù)據(jù)的存儲和綜合,OLAP用于多維數(shù)據(jù)分析,數(shù)據(jù)挖掘用以從數(shù)據(jù)庫和數(shù)據(jù)倉庫中提取知識,模型庫實現(xiàn)多個廣義模型的組合輔助決策;再加上專家系統(tǒng),則可利用知識推理進(jìn)行定性分析。
二,剖析數(shù)據(jù)倉庫
1.數(shù)據(jù)倉庫帶來了什么
數(shù)據(jù)倉庫給組織帶來了巨大的變化。數(shù)據(jù)倉庫的建立給企業(yè)帶來了一些新的工作流程,其他的流程也因此而改變。?
數(shù)據(jù)倉庫為企業(yè)帶來了一些“以數(shù)據(jù)為基礎(chǔ)的知識”,它們主要應(yīng)用于對市場戰(zhàn)略的評價,和為企業(yè)發(fā)現(xiàn)新的市場商機(jī),同時,也用來控制庫存、檢查生產(chǎn)方法和定義客戶群。
每一家公司都有自己的數(shù)據(jù)。數(shù)據(jù)倉庫將企業(yè)的數(shù)據(jù)按照特定的方式組織,從而產(chǎn)生新的商業(yè)知識,并為企業(yè)的運作帶來新的視角。
2.為何要建立數(shù)據(jù)倉庫
計算機(jī)發(fā)展的早期,人們已經(jīng)提出了建立數(shù)據(jù)倉庫的構(gòu)想。“數(shù)據(jù)倉庫”一詞最早是在1900年,由Bill Inmon先生提出的,其描述如下:數(shù)據(jù)倉庫是為支持企業(yè)決策而特別設(shè)計和建立的數(shù)據(jù)集合。
企業(yè)建立數(shù)據(jù)倉庫是為了填補(bǔ)現(xiàn)有數(shù)據(jù)存儲形式已經(jīng)不能滿足信息分析的需要。數(shù)據(jù)倉庫理論中的一個核心理念就是:事務(wù)型數(shù)據(jù)和決策支持型數(shù)據(jù)的處理性能不同。
企業(yè)在它們的事務(wù)操作收集數(shù)據(jù)。在企業(yè)運作過程中:隨著定貨、銷售記錄的進(jìn)行,這些事務(wù)型數(shù)據(jù)也連續(xù)的產(chǎn)生。為了引入數(shù)據(jù),我們必須優(yōu)化事務(wù)型數(shù)據(jù)庫。?
處理決策支持型數(shù)據(jù)時,一些問題經(jīng)常會被提出:哪類客戶會購買哪類產(chǎn)品?促銷后銷售額會變化多少?價格變化后或者商店地址變化后銷售額又會變化多少呢?在某一段時間內(nèi),相對其他產(chǎn)品來說哪類產(chǎn)品特別容易賣呢?哪些客戶增加了他們的購買額?哪些客戶又削減了他們的購買額呢??
事務(wù)型數(shù)據(jù)庫可以為這些問題作出解答,但是它所給出的答案往往并不能讓人十分滿意。在運用有限的計算機(jī)資源時常常存在著競爭。在增加新信息的時候我們需要事務(wù)型數(shù)據(jù)庫是空閑的。而在解答一系列具體的有關(guān)信息分析的問題的時候,系統(tǒng)處理新數(shù)據(jù)的有效性又會被大大降低。另一個問題就在于事務(wù)型數(shù)據(jù)總是在動態(tài)的變化之中的。決策支持型處理需要相對穩(wěn)定的數(shù)據(jù),從而問題都能得到一致連續(xù)的解答。?
數(shù)據(jù)倉庫的解決方法包括:將決策支持型數(shù)據(jù)處理從事務(wù)型數(shù)據(jù)處理中分離出來。數(shù)據(jù)按照一定的周期(通常在每晚或者每周末),從事務(wù)型數(shù)據(jù)庫中導(dǎo)入決策支持型數(shù)據(jù)庫——既“數(shù)據(jù)倉庫”。數(shù)據(jù)倉庫是按回答企業(yè)某方面的問題來分“主題”組織數(shù)據(jù)的,這是最有效的數(shù)據(jù)組織方式。??
3.數(shù)據(jù)倉庫的組成
數(shù)據(jù)倉庫的處理過程中要用到許多的硬件和軟件,包括:?
將信息從事務(wù)型數(shù)據(jù)庫中提取出來并加載入數(shù)據(jù)倉庫的軟件。?—ETL數(shù)據(jù)抽取工具
數(shù)據(jù)清洗軟件——去除來源于不同的數(shù)據(jù)源的不一致的數(shù)據(jù)。?—分析引擎
支持“決策支持型數(shù)據(jù)庫”的硬件和數(shù)據(jù)庫軟件。—指標(biāo)模型體系
管理“元數(shù)據(jù)”(描述數(shù)據(jù)的信息)的軟件。?—指標(biāo)模型體系
商業(yè)智能軟件——用來向用戶前端展現(xiàn)數(shù)據(jù)倉庫里的數(shù)據(jù)信息。?—BI?商業(yè)智能
軟件代理——尋找合適的數(shù)據(jù)類型,并給特別的用戶發(fā)送警告。?
數(shù)據(jù)挖掘軟件——尋找、發(fā)現(xiàn)數(shù)據(jù)中隱藏的信息。?
4.數(shù)據(jù)倉庫和數(shù)據(jù)集市
有關(guān)決策支持型數(shù)據(jù)庫的數(shù)據(jù)集市是面向企業(yè)中的某個部門或是項目小組的。一些專家顧問將數(shù)據(jù)集市的建造描述為建立數(shù)據(jù)倉庫全過程中的一步。首先,一個儲存企業(yè)全部信息的數(shù)據(jù)倉庫被創(chuàng)建,其中,數(shù)據(jù)均具備有組織的、一致的、不變的格式。數(shù)據(jù)集市隨后被創(chuàng)立,其目的是為不同部門提供他們所需要的那部分信息。數(shù)據(jù)倉庫聚集了所有詳細(xì)的信息,而數(shù)據(jù)集市中的數(shù)據(jù)則是針對用戶們的特定需求總結(jié)而出的。?
而另外一些專家則認(rèn)為數(shù)據(jù)集市的建立并不需要首先建立一個數(shù)據(jù)倉庫。在這個模型中,數(shù)據(jù)直接由事務(wù)型數(shù)據(jù)庫轉(zhuǎn)入數(shù)據(jù)集市中。一個公司可能建立有多個數(shù)據(jù)集市,而彼此之間毫無聯(lián)系。?
這種不在建立數(shù)據(jù)倉庫的基礎(chǔ)上創(chuàng)建數(shù)據(jù)集市的方式會更便宜、更快速,因為它的規(guī)模更加易于管理。?
第二種觀點的缺陷在于無法實現(xiàn)最初創(chuàng)建數(shù)據(jù)倉庫的最主要的目的——將企業(yè)所有的數(shù)據(jù)統(tǒng)一為一致的格式。現(xiàn)有的事務(wù)處理系統(tǒng)的數(shù)據(jù)往往是不一致、冗余的。如果首先建立?
起一個全公司范圍的數(shù)據(jù)倉庫,組織就能夠獲得一個統(tǒng)一關(guān)于企業(yè)的活動和客戶的知識庫。如果先建立起一個個獨立的數(shù)據(jù)集市,那么數(shù)據(jù)倉庫的諸多優(yōu)勢都能夠得以實現(xiàn),但是企業(yè)遠(yuǎn)遠(yuǎn)無法做到對數(shù)據(jù)的一致的儲存。
5.數(shù)據(jù)倉庫開發(fā)過程
開發(fā)數(shù)據(jù)倉庫的過程與建筑工程非常類似。先測定出實際的需求,再聘用一位建筑師,制定出詳細(xì)的計劃,審查,并最終確定下來。然后估算出整個工程的成本,待方案通過后,工程正式啟動。?
兩者的區(qū)別在于:一個建筑工程可以竣工,但是一個數(shù)據(jù)倉庫的開發(fā)永遠(yuǎn)不會結(jié)束!因為總會有數(shù)不完的數(shù)據(jù)等待著被加載入數(shù)據(jù)倉庫;新的查詢和警告的可能也隨時會在下一秒出現(xiàn);數(shù)據(jù)一致性問題總會出現(xiàn)并等待著解決;而且,還需要不斷的對用戶進(jìn)行培訓(xùn),這樣他們才能夠充分利用數(shù)據(jù)倉庫的潛能。?
所以,在這一領(lǐng)域所存在的最大的誤區(qū)就是:人們把過多的精力投放在數(shù)據(jù)倉庫的“建立”過程上,而沒有意識到“開發(fā)”數(shù)據(jù)倉庫是一個永無止境的過程。數(shù)據(jù)倉庫的開發(fā)是一段永遠(yuǎn)前行的旅程。旅途中,會路過一座座的里程碑,但是永遠(yuǎn)沒有終點。
6.從敏銳的觀察到“以數(shù)據(jù)為基礎(chǔ)的知識”
感覺敏銳的市場營銷專家往往能夠從仔細(xì)的觀察研究中發(fā)現(xiàn)到大量的商機(jī)。?
而數(shù)據(jù)倉庫能夠為我們帶來“以數(shù)據(jù)為基礎(chǔ)的知識”——一些當(dāng)前的精確而詳細(xì)的信息!專家們只要直接查看數(shù)據(jù)倉庫中的相關(guān)數(shù)據(jù),就可以發(fā)現(xiàn)他們想知道的一切。商業(yè)智能工具以更加多元化的視角來幫助專家們觀察數(shù)據(jù)。商業(yè)專家可以與數(shù)據(jù)倉庫的設(shè)計師一同開發(fā)出能夠自動地發(fā)現(xiàn)有價值的信息,并提交企業(yè)所需要的分析報告。?
尚無文字社會的人類是通過記住信息來為自己獲得知識,并將這些知識傳遞給別人。?
學(xué)會閱讀和書寫后,文明開化的人類能夠成倍的增加他們所能夠了解并與其他人分享的知識。他們擁有工具來幫助記憶和教學(xué)。?
而在計算機(jī)發(fā)明之前,商人們通過仔細(xì)的觀察和敏銳的感覺來獲取知識。如今,“以數(shù)據(jù)為基礎(chǔ)的知識”的出現(xiàn),成為了另一個有力的知識來源。
而數(shù)據(jù)倉庫正是產(chǎn)生這一新知識的工具!
?
?
微信公眾號【Java技術(shù)江湖】一位阿里 Java 工程師的技術(shù)小站。(關(guān)注公眾號后回復(fù)”Java“即可領(lǐng)取 Java基礎(chǔ)、進(jìn)階、項目和架構(gòu)師等免費學(xué)習(xí)資料,更有數(shù)據(jù)庫、分布式、微服務(wù)等熱門技術(shù)學(xué)習(xí)視頻,內(nèi)容豐富,兼顧原理和實踐,另外也將贈送作者原創(chuàng)的Java學(xué)習(xí)指南、Java程序員面試指南等干貨資源)
?
總結(jié)
以上是生活随笔為你收集整理的探秘Hadoop生态6:Hive技术初探与实践入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BERYL和COMPIZ FUSION的
- 下一篇: x265-1.8版本-common/wa