① 詳解數據倉庫和資料庫的區別
數據倉庫:為企業所有級別的決策制定過程,提供所有類型數據支持的戰略(數據)集合。
大數據:所涉及的資料量規模巨大到無法透過主流軟體工具,在合理時間內達到擷取、管理、處理、並整理成為幫助企業經營決策更積極目的的資訊。
傳統資料庫:一個長期存儲在計算機內的、有組織的、可共享的、統一管理的大量數據的集合。
其實從三個定義,我們好像區別不大。
資料庫指的是數據的集合,數據倉庫也是一個數據集合,大數據也是一個處理和存儲數據的地方。
但是不同的是,在於應用場景,和構建的技術原理不一樣。
傳統資料庫是存儲根據範式建模的關系型數據,主要用於OLTP(on-line transaction processing)翻譯為聯機事務處理的軟體。大數據是根據map rerce範式構建的出局處理,存儲的軟體,主要用於OLAP是做分析處理。大數據和傳統資料庫,還有一個更大的區別在於,處理的數據量以及計算量的大小,當傳統資料庫,無法在人可以接受的短時間內計算出結果,那這個數據就叫大數據,需要使用到大數據技術處理。而數據倉庫本質上是一種數據的處理方式,而不是一種基礎軟體,它可以依賴於傳統資料庫,也可以依賴大數據技術去構建。
可以參考這篇文章:數據倉庫(2)數據倉庫、大數據與傳統資料庫的區別 - 知乎 (hu.com)
② 數據倉庫與數據挖掘問題
公眾交流平台
1 介紹
數據倉庫是面向主題的、集成的、與時間相關的、不可修改的數據集合。數據倉庫技術是基於信息系統業務發展的需要,基於資料庫系統技術發展而來,並逐步獨立的一系列新的應用技術。數據倉庫系統可以看作是基於數學及統計學嚴謹邏輯思維的並達成「科學的判斷、有效的行為」的一個工具,也是一種達成「數據整合、知識管理」的有效手段。隨著數據倉庫技術應用的不斷深入,越來越多的企業開始使用數據倉庫技術建設自己的數據倉庫系統,希望能對歷史數據進行具體而又有針對性的分析與挖掘,以期從中發現新客戶和客戶新的需求。
目前主要的數據倉庫產品供應商包括Oracle、IBM、Microsoft、SAS、Teradata、Sybase、Business Objects(已被SAP收購)等。Oracle公司的數據倉庫解決方案包含了業界領先的資料庫平台、開發工具和應用系統,能夠提供一系列的數據倉庫工具集和服務,具有多用戶數據倉庫管理能力,多種分區方式,較強的與OLAP工具的交互能力,及快速和便捷的數據移動機制等特性;IBM公司的數據倉庫產品稱為DB2 Data Warehouse Edition,它結合了DB2數據伺服器的長處和IBM的商業智能基礎設施,集成了用於倉庫管理、數據轉換、數據挖掘以及OLAP分析和報告的核心組件,提供了一套基於可視數據倉庫的商業智能解決方案;微軟的SQL Server提供了三大服務和一個工具來實現數據倉庫系統的整合,為用戶提供了可用於構建典型和創新的分析應用程序所需的各種特性、工具和功能,可以實現建模、ETL、建立查詢分析或圖表、定製KPI、建立報表和構造數據挖掘應用及發布等功能;SAS公司的數據倉庫解決方案是一個由30多個專用模塊構成的架構體系,適應於對企業級的數據進行重新整合,支持多維、快速查詢,提供服務於OLAP操作和決策支持的數據採集、管理、處理和展現功能;Teradata公司提出了可擴展數據倉庫基本架構,包括數據裝載、數據管理和信息訪問幾個部分,是高端數據倉庫市場最有力競爭者,主要運行在基於Unix操作系統平台的NCR硬體設備上;Sybase提供了稱為Warehouse Studio的一整套覆蓋整個數據倉庫建立周期的產品包,包括數據倉庫的建模、數據集成和轉換、數據存儲和管理、元數據管理和數據可視化分析等產品;Business Objects是集查詢、報表和OLAP技術為一身的智能決策支持系統,具有較好的查詢和報表功能,提供多維分析技術,支持多種資料庫,同時它還支持基於Web瀏覽器的查詢、報表和分析決策。
根據IDC發布的2006年數據倉庫市場分析報告,上述公司占據了全球近90%的市場份額,提供的數據倉庫產品的功能特性已經成為市場的主流。這些公司在推出各自的數據倉庫產品的同時也提供了相應的數據倉庫解決方案。本文後續內容將針對這些數據倉庫產品和解決方案的主要支撐技術進行比較,並結合IDC和ChinaBI相關報告給出相應的市場情況分析。
2 支撐技術
在數據倉庫系列技術中,主要的支撐技術包括資料庫技術、ETL技術、OLAP技術、報表技術、數據挖掘技術。
2.1 資料庫技術
資料庫技術是支撐數據倉庫技術的基礎技術。盡管在數據倉庫技術存儲模型方面,基於資料庫技術而發展的關系模式的理念已經被顛覆,取而代之是各種各樣的數據倉庫數據模型,如星型模型,雪花模型等。然而,在已有的數據倉庫實踐中,關系資料庫仍然是實質的資料庫存儲工具,只是將資料庫表改稱為了事實表和維表,將屬性域之間的關系重新定義為維度,量度,層次,粒度等。
成熟的數據倉庫後台資料庫包括Oracle、DB2、SQL Server、Teradata和Sybase IQ。在查詢效率方面,Sybase IQ由於採用了列存儲技術,查詢效率比較高;在兼容性方面,Teradata從軟體到硬體都必須是專用的,因而兼容性最差;在管理平台和海量數據管理方面,Oracle、DB2和SQL Server都提供了一系列完整的工具,相對於其它產品有著明顯的優勢;在磁碟空間利用方面,Sybase IQ的壓縮比是所有資料庫中最好的,而Teradata最為浪費。
另外,SAS公司和BO公司也擁有自己的數據管理能力,但對於大型數據倉庫的數據管理,仍然需要使用上述資料庫產品,SAS和BO都提供了與這些資料庫進行連接的專門介面。
2.2 ETL技術
數據倉庫系統是集成的、與時間相關的數據集合,ETL作為數據倉庫的核心,負責將分布的、異構數據源中的數據進行抽取、清洗、轉換、集成,最後載入到數據倉庫或數據集市中,成為聯機分析處理、數據挖掘的基礎。ETL能夠按照統一的規則集成並提高數據的價值,是負責完成數據從數據源向目標數據倉庫轉化的過程,是實施數據倉庫的重要步驟。要實現數據倉庫中數據的自動更新運轉,ETL技術是必不可少的關鍵技術之一。
主流數據倉庫產品供應商都擁有各自的ETL能力。IBM的ETL工具稱為IBM WebSphere DataStage,它為整個ETL過程提供了一個圖形化的開發環境,支持對多種操作數據源的數據抽取、轉換和維護,並將其輸入數據集或數據倉庫;Teradata的ETL工具稱為ETL Automation,它利用Teradata資料庫本身的並行處理能力,通過SQL語句實現數據的轉換,提供對ETL流程的支持,包括前後依賴、執行和監控等;SAS的ETL工具稱為ETL Studio,提供管理ETL流程和建立數據倉庫、數據集市和OLAP結構的單控制點。其他幾家公司則將其工具融合在大的數據倉庫組件中,如Oracle的Oracle Warehouse Builder (OWB)、SQL Server的Integration Services、Sybase的Data Integration Suite、BO的可擴展數據整合平台Data Integrator。
上述各公司提供的ETL相關工具功能相近,在易用性、效率、價格等方面各有千秋,但就工具的二次開發、集成和開放性而言,與專業的數據集成平台,如Informatica公司的PowerCenter,相比還是存在一定的差距。
2.3 OLAP技術
聯機分析處理(OLAP)是針對特定問題的聯機數據訪問和分析,通過對信息進行快速、穩定、一致和互動式的存取,對數據進行多層次、多階段的分析處理,以獲得高度歸納的分析結果。聯機事務處理(OLTP)已不能滿足終端用戶對資料庫查詢分析的需要,SQL對大資料庫進行的簡單查詢也不能滿足用戶分析的需求。用戶的決策分析需要對關系資料庫進行大量計算才能得到結果,而查詢的結果並不能滿足決策者提出的需求,由此出現了多維資料庫和多維分析的概念。
目前主流的OLAP產品有Oracle Express/Discoverer、SQL Server Analysis Services、DB2 OLAP Server、SAS OLAP Server等,這些產品都可以生成多維數據立方體,提供多維數據的快速分析,支持所有主流關系型資料庫如DB2,Oracle,SQL Server,Sybase等,同時可讀取關系資料庫中細節數據,實現混合在線分析(HOLAP)或關系型在線分析(ROLAP)。並且,各廠商的OLAP Sever對自己的資料庫產品的支持均好於其它資料庫,各自的分析工具也都基於開放的OLE DB標准,可以訪問支持OLE DB標準的數據立方體。
BO公司和Sybase公司則分別提供了各自的OLAP分析工具OLAP Intelligence和Power Dimension,支持標准OLAP API,如OLEDB for OLAP,能夠對Microsoft、IBM等OLAP數據進行劃分、鑽取等處理,兼容第三方報表和展現工具。Teradata盡管不提供獨立的OLAP工具,但提供了相關技術,用於提升運行於Teradata資料庫上的OLAP應用系統的性能。
2.4 報表技術
報表技術主要是將集成在數據模型里的數據,按照復雜的格式、指定行列統計項,計算形成的特殊表格。一般的簡單報表可以使用通用的前台展現技術實現,而復雜的報表則需要使用特定的報表技術。主流的報表技術都可以靈活的制定各種報表模版庫和指標庫,並根據每個區塊或單元格的需要引用指標,實現一系列復雜的符合要求的報表的自動生成。
主流數據倉庫廠商的報表工具中較為有影響包括IBM的Cognos ReportNet、BO的Crystal Reports、Oracle的Oracle Reports。IBM通過收購Cognos公司獲得了完整的報表產品Cognos ReportNet,覆蓋了各種報表需求,包括管理報表、商業報表、賬單和發票等;BO公司提供了一個完整的企業報表解決方案Crystal Reports Server,支持通過Web快速便捷的創建、管理和交付報表;Oracle Reports工具提供了自由的數據格式方式,可以自動生成個性化字母或矩陣風格的布局,包括動態、數據驅動的圖表;SQL Server的報表功能包含在Reporting Services (SSRS)中,包括處理組件、一整套可用於創建和管理報表的工具、在自定義應用程序中集成和擴展數據和報表處理的API。與上述產品相比,Sybase的InfoMaker、Teradata的BTEQ和SAS的Report Studio等報表產品在功能、性能、二次開發等方面都還存在著一定的差距。
總的來說,這些產品在大部分通用軟體領域相對國產軟體都要優秀,但在有中國特色的報表領域內卻是例外,在處理能力存在一定的不適應性。另外這些產品的數學模型都是基於SQL/OLAP理論設計的,在技術上也不能滿足國內復雜報表的製作需求。
2.5 數據挖掘技術
當數據積累到一定數量時,某些潛在聯系、分類、推導結果和待發現價值隱藏在其中,可以使用數據發掘工具幫助發現這些有價值的數據。數據挖掘就是從海量數據中,提取隱含在其中的、人們事先不知道的但又可能有用的信息和知識的過程。通過數據挖掘能找出資料庫中隱藏的信息,實現用模型來擬合數據、探索型數據分析,數據驅動型的發現,演繹型學習等功能。
目前,IBM公司的IBM Intelligent Miner支持典型數據集自動生成、關聯發現、序列規律發現、概念性分類和可視化呈現,可以自動實現數據選擇、數據轉換、數據發掘和結果呈現這一整套數據發掘操作;Oracle公司提供的數據挖掘平台稱為Oracle Data Miner,它提供了的一個圖形用戶界面,通過簡單易用的向導來指導完成數據准備、數據挖掘、模型評估和模型評價過程,根據需要自動生成將數據挖掘步驟轉換成一個集成的數據挖掘/BI應用程序所需的代碼;SAS公司的SAS Enterprise Miner將數據挖掘過程簡單流程化,支持關聯、聚類、決策樹、神經元網路和經典的統計回歸技術;Teradata公司的挖掘工具稱為Teradata Warehouse Miner,它通過將數據挖掘技術整合到數據倉庫來簡化數據挖掘流程,該工具還可實現將多家廠商的數據挖掘技術嵌入Teradata企業級數據倉庫環境中運行;Microsoft數據挖掘平台不同於傳統數據挖掘應用程序,它支持組織中數據的整個開發生命周期,允許第三方添加自定義演算法以支持特定的挖掘需求,支持實時根據挖掘的數據集進行數據驗證。對比於上述公司,Sybase和BO公司並沒有推出專門的數據挖掘平台或工具。
和前幾項支撐技術相比,數據挖掘技術的專業性更強,與應用領域的特殊背景結合得更加緊密。上述產品除了在性能、通用性、數據展示、二次開發上有一定差異外,沒有一個能夠占據絕對技術和市場優勢,反而是一些專門領域內的專業挖掘工具更具競爭性,如Fair Isaac公司占據了全球信用卡積分市場近7成的份額。
3 市場分析
國際權威市場分析機構IDC將數據倉庫平台工具市場細分為數據倉庫生成(Data Warehouse Generation)工具市場和數據倉庫管理(Data Warehouse Management)工具市場兩個部分,前者涵蓋數據倉庫的設計和ETL過程的各種工具,後者指數據倉庫後台資料庫的管理工具,如DBMS。根據IDC發布的《全球數據倉庫平台工具2006年度供應商市場份額》分析報告,2006年該市場增長率為12.5%,規模達到57億美元,其中數據倉庫生成工具和數據倉庫管理工具兩個市場的比重分別為23.3%和76.7%,相對於數據倉庫管理工具市場,數據倉庫生成工具市場的增長進一步放緩。可以預見,整個數據倉庫市場將進一步向擁有強大後台資料庫系統的傳統廠商傾斜。從供應商看,Oracle公司繼續占據數據倉庫管理領域的領先供應商地位,並且與其主要競爭者IBM之間的這種領先優勢正逐漸擴大。Microsoft緊追IBM之後,與其之間的差距則在逐漸縮小。
在國內,商業智能已經成為企業信息化中最重要的組成部分,而數據倉庫相關技術在其中扮演著無可替代的重要角色。據ChinaBI統計,2007年中國大陸地區的BI市場份額約為20億元人民幣,同比2006年增長35%,其中BI產品許可證約為9億元人民幣,BI系統集成約為11億元人民幣。現有BI廠商包括產品提供商、集成商、分銷商、服務商等有近500家,在未來幾年內商業智能市場需求旺盛,市場規模增長迅速。從國內數據倉庫實踐看,根據ChinaBI評選的2007年中國十大數據倉庫的初步結果,傳統資料庫廠商占據7個,分別是IBM 3個、Oracle 3個、SQL Server 1個,其餘3個屬於NCR/Teradata公司;從數據倉庫規模來看,傳統資料庫廠商更佔有巨大優勢,總數據量為536.3T,Teradata則為54T。涉及的行業包括通信、郵政、稅務、證券和保險等。
在數據倉庫市場快速發展的同時,市場競爭也日趨激烈,其中尤其以Oracle收購Hyperion、SAP收購BO、IBM收購Cognos具有代表意義。截至2007年底,混亂的市場已經基本明朗化,三個層次逐漸浮現出來。Oracle,IBM,Microsoft和SAP位居第一層次,能夠提供全面的解決方案;第二層次是NCR Teradata和SAS等產品相對獨立的供應商,可以提供解決方案中的部分應用;第三層次是只專注於單一領域的專業廠商,但其在並購的硝煙中日趨難以存活。
③ 數據倉庫和資料庫有什麼區別和聯系
簡而言之,資料庫是面向事務的設計,數據倉庫是面向主題設計的。
資料庫一般存儲在線交易數據,數據倉庫存儲的一般是歷史數據。
資料庫設計是盡量避免冗餘,一般採用符合範式的規則來設計,數據倉庫在設計是有意引入冗餘,採用反範式的方式來設計。
資料庫是為捕獲數據而設計,數據倉庫是為分析數據而設計,它的兩個基本的元素是維表和事實表。維是看問題的角度,比如時間,部門,維表放的就是這些東西的定義,事實表裡放著要查詢的數據,同時有維的ID。
單從概念上講,有些晦澀。任何技術都是為應用服務的,結合應用可以很容易地理解。以銀行業務為例。資料庫是事務系統的數據平台,客戶在銀行做的每筆交易都會寫入資料庫,被記錄下來,這里,可以簡單地理解為用資料庫記帳。數據倉庫是分析系統的數據平台,它從事務系統獲取數據,並做匯總、加工,為決策者提供決策的依據。比如,某銀行某分行一個月發生多少交易,該分行當前存款余額是多少。如果存款又多,消費交易又多,那麼該地區就有必要設立ATM了。
顯然,銀行的交易量是巨大的,通常以百萬甚至千萬次來計算。事務系統是實時的,這就要求時效性,客戶存一筆錢需要幾十秒是無法忍受的,這就要求資料庫只能存儲很短一段時間的數據。而分析系統是事後的,它要提供關注時間段內所有的有效數據。這些數據是海量的,匯總計算起來也要慢一些,但是,只要能夠提供有效的分析數據就達到目的了。
數據倉庫,是在資料庫已經大量存在的情況下,為了進一步挖掘數據資源、為了決策需要而產生的,它決不是所謂的「大型資料庫」。那麼,數據倉庫與傳統資料庫比較,有哪些不同呢?讓我們先看看W.H.Inmon關於數據倉庫的定義:面向主題的、集成的、與時間相關且不可修改的數據集合。
「面向主題的」:傳統資料庫主要是為應用程序進行數據處理,未必按照同一主題存儲數據;數據倉庫側重於數據分析工作,是按照主題存儲的。這一點,類似於傳統農貿市場與超市的區別—市場裡面,白菜、蘿卜、香菜會在一個攤位上,如果它們是一個小販賣的;而超市裡,白菜、蘿卜、香菜則各自一塊。也就是說,市場里的菜(數據)是按照小販(應用程序)歸堆(存儲)的,超市裡面則是按照菜的類型(同主題)歸堆的。
「與時間相關」:資料庫保存信息的時候,並不強調一定有時間信息。數據倉庫則不同,出於決策的需要,數據倉庫中的數據都要標明時間屬性。決策中,時間屬性很重要。同樣都是累計購買過九車產品的顧客,一位是最近三個月購買九車,一位是最近一年從未買過,這對於決策者意義是不同的。
「不可修改」:數據倉庫中的數據並不是最新的,而是來源於其它數據源。數據倉庫反映的是歷史信息,並不是很多資料庫處理的那種日常事務數據(有的資料庫例如電信計費資料庫甚至處理實時信息)。因此,數據倉庫中的數據是極少或根本不修改的;當然,向數據倉庫添加數據是允許的。
數據倉庫的出現,並不是要取代資料庫。目前,大部分數據倉庫還是用關系資料庫管理系統來管理的。可以說,資料庫、數據倉庫相輔相成、各有千秋。
補充一下,數據倉庫的方案建設的目的,是為前端查詢和分析作為基礎,由於有較大的冗餘,所以需要的存儲也較大。為了更好地為前端應用服務,數據倉庫必須有如下幾點優點,否則是失敗的數據倉庫方案。
1.效率足夠高。客戶要求的分析數據一般分為日、周、月、季、年等,可以看出,日為周期的數據要求的效率最高,要求24小時甚至12小時內,客戶能看到昨天的數據分析。由於有的企業每日的數據量很大,設計不好的數據倉庫經常會出問題,延遲1-3日才能給出數據,顯然不行的。
2.數據質量。客戶要看各種信息,肯定要准確的數據,但由於數據倉庫流程至少分為3步,2次ETL,復雜的架構會更多層次,那麼由於數據源有臟數據或者代碼不嚴謹,都可以導致數據失真,客戶看到錯誤的信息就可能導致分析出錯誤的決策,造成損失,而不是效益。
3.擴展性。之所以有的大型數據倉庫系統架構設計復雜,是因為考慮到了未來3-5年的擴展性,這樣的話,客戶不用太快花錢去重建數據倉庫系統,就能很穩定運行。主要體現在數據建模的合理性,數據倉庫方案中多出一些中間層,使海量數據流有足夠的緩沖,不至於數據量大很多,就運行不起來了。
④ 資料庫,數據倉庫,大數據三個術語的含義
數據倉庫,英文名稱為Data Warehouse,可簡寫為DW或DWH。數據倉庫,是為企業所有級別的決策制定過程,提供所有類型數據支持的戰略集合。它是單個數據存儲,出於分析性報告和決策支持目的而創建。 為需要業務智能的企業,提供指導業務流程改進、監視時間、成本、質量以及控制