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