BI與數據倉庫(DW)之間的關係是怎麼樣的?


我現在是做BI的,我說說我的理解吧。

首先說DW,很好理解,是DataWarehouse的縮寫,中文就是數據倉庫。最主要的特點如下,參考自維基百科:

  • 主題導向(Subject-Oriented)

有別於一般OLTP系統,數據倉庫的資料模型設計,著重將資料按其意義歸類至相同的主題區(subject area),因此稱為主題導向。舉例如Party、Arrangement、Event、Product等。

  • 集成性(Integrated)

資料來自企業各OLTP系統,在數據倉庫中是集成過且一致的。

  • 時間差異性(Time-Variant)

資料的變動,在數據倉庫中是能夠被紀錄以及追蹤變化的,有助於能反映出能隨著時間變化的資料軌跡。

  • 不變動性(Nonvolatile)

資料一旦確認寫入後是不會被取代或刪除的,即使資料是錯誤的亦同。(i.e.錯誤的後續修正,便可因上述時間差異性的特性而被追蹤)

這些放狗可以搜到很多定義。

而BI,我的理解分廣義和狹義的。廣義上講,BI包括ETL, DW和相應的Reporting System. 因為現在一般的公司動不動說上個BI系統,都是要從DW建模開始做,然後做ETL,最後做對應的Reporting System. 雖然最終領導們只看到了他們想要的報表,但是這一套系統是需要DW和ETL的支持的。下面是我前幾天給別人講ppt的時候說的一句話:

Business Intelligence refers to application and technology, which is used to gather, provide access to, and analyze data and information about the company operations.

而狹義的BI就僅僅指Reporting System, 就是基於DW設計的報表系統,是領導們想要看的報表的展現。通過DW中的維度表和事實表,來從不同的維度看領導想要的數據。比如大中華區銷售了多少,每個省的KPI怎麼樣等等。常用的工具有OBIEE,BO,Cognos等等。

希望對你有幫助。


從概念上來說,BI(商業智能)是一套完整的解決方案,簡單點說,是從本質上改變企業做決策拍腦袋的情況。DW(數據倉庫),從名字上也可以看出一二,只是在解決「數據倉儲」的問題。

其實,數據倉庫的定義是什麼我覺得並不重要,因為它本身就是一個抽象的概念,是因為社會經濟以及人類整體科技的進步,企業在發展中在不斷地遇到科學化決策的挑戰,而出現的一個數據支持系統。就像oa一樣,用java實現還是.Net實現無所謂,能提升企業辦公效率的oa就是好oa。早些年混跡在數據解決方案外包行業的時候,就遇到過很多人——認為基於oracle的數據倉庫最有前途,用MSSql Server的都是數據量太小的小企業;其實他們都忽略了一家叫Teradata的公司,當然,無論是MS,Oracle,還是TD,他們最終做的事情是的問題是bi解決方案。

數據倉庫最關注的是解決數據一致性,可信性,集合性.......這些問題,把越來越複雜的業務數據轉化成對於業務運營,業務分析來說簡單易用的數據形式;數據倉庫的終極目標是讓數據應用人員發(無論是ceo還是普通分析師)發愁的是怎麼使用數據倉庫里這些數據,而創造更多的信息與價值;而不是發愁數據在哪裡,數據對不對。

相比數據倉庫,bi中還包含了主數據,數據挖掘,數據可視化,多維分析,標籤分類等方面。拿多維分析舉個例子,數據倉庫中只是提供了維度化的數據,但是基於某些工具,比如ebay的kylen或者IBM的cognos等,可以支持用戶在一定範圍內任意組合維度與指標,那這就上升到了決策支持的層面而不是「高級數據倉儲」層面了,也就是使用了數據倉庫的數據,但不是數據倉庫的功能。

再來說說近兩年的行業真實情況吧。我自己平時也參加了很多數據工程,數據分析等相關的沙龍活動。發現一個很明顯的變化就是,現在在風口上的大大小小的互聯網公司,說自己用大數據的越來越多了,但有數據倉庫體系的公司越來越少了。搞growth hacking的越來越多了,能把自己的企業報表支持做的快速精準的越來越少了。個人感覺的是,當年那一幫搞維度建模,倉庫體系的老傢伙明顯沒有教出太多的好徒弟,另外就是半路改行的etl佔據了大半江山。所以現在在很多公司里看到的bi體系中的數據倉庫一般都是一大層+」貼源「,能看到數據倉庫理論體系的項目越來越少了。


ETL、OLAP、反範式化都是數據倉庫的重要概念,2003年前後注意到一本書《商務智能》PDF 版的,之後越來越多的人提到BI,之前做數據倉庫的人開始關注數據挖掘,2011年前後「BIG DATA」出現在機場廣告牌上,然後就有人將大數據技術比作未成年人的性行為:「每個人都在談論它,每個人都宣稱他們在做,每個人都以為別人在做,但沒人知道怎麼做。」


兩者可以有關係也可以沒有關係,所謂的BI科學的理解是一套完整的解決方案,其最終目的是提供快速準確的報表作為依據,從而幫助企業做出明智的業務決策。而這套方案里可以有數據倉庫也可以不用數據倉庫。

數據倉庫區別與資料庫的主要特徵就是數據倉庫的設計主要面向主題而資料庫主要面向事務,也就是一個是OLAP一個是OLTP。在構建BI方案的時候並不一定需要數據倉庫,在資料庫的基礎上搭建也行。只是對於中大型企業,考慮到日常事務多,數據量大,資料庫往往要做更多的寫優化,在這樣的背景下通過構建數據倉庫,將數據通過ETL過程抽取到數據倉庫,在此基礎上構建BI解決方案就顯得更加的高效。

有些企業內部人員由於只有日常使用的BI的經驗而沒有完整BI項目實施的經驗所以容易狹義的把BI看做是報表平台把數據倉庫看做是另一個備份資料庫。


從定義的角度上來說,數據倉庫技術,應是BI技術的一個子集。

BI是一個很廣泛意義上的概念,它包括了廣泛的一系列的技術,數據倉庫是其重要的基石之一,另外一個基石級的技術是ETL。

BI定義的技術集中,除了數據倉庫,還包括了OLAP和數據挖掘,前端展現等等。在具體的項目中,它們中的若干個結合起來,實現一個完整的BI系統。

數據倉庫,官方定義很拗口,我就不贅述了,個人認為他是一個數據的集合,用於管理目的,以業務概念和語境等來組織數據,它是數據存儲的一種方式,也即企業數據資產的一種形式(相較於OLTP系統而言),它需要數據集成,需要有一致化,集成歷史數據不斷增量更新,不做數據的錄入而從各源系統採集,它將成為一個數據的輸出,為BI的其他技術領域所用,如OLAP、前端展現或是數據挖掘。

BI和數據倉庫,它們的共同點是都從業務的角度來看數據,對數據進行重新組織。

區別是數據倉庫是BI的子集,BI藉助各種工具和技術有完整的輸出,而通常我沒說的數據倉庫是不沒有界面輸出的。

雖然現如Qlikview之類的在越來越多的工具建議不建立數據倉庫直接上BI,但有點保守的我還是覺得:無數據倉庫,不BI。


房子和土地的關係


dw 也就是所謂的data warehouse 比較起資料庫,數據倉庫更強調數據分析的效率,複雜查詢的速度,數據之間的相關性分析,所以在資料庫模型上,數據倉庫喜歡使用多維模型,從而提高數據分析的效率。 一般分星型和雪花型

而所謂的BI 我覺得現階段真的可以理解為data visualisation 說的通俗點 就是在做報表。其主要目的就是數據分析的可視化 而分析的基礎就是DW

拿BI 來比作炒菜吧。。DW 就是炒菜所要的素材 而且是分好類的那種 那比如 我要做個番茄炒蛋呢

就從蔬菜維度 拿番茄 從禽肉維度拿雞蛋 從調料維度拿糖和鹽 然後放到鍋裡面加工一下(比如各種數據分析的平台 比如cognos 比如 birt 之類的)辣 一盆香噴噴的番茄炒蛋就做好咯


做過一段時間的數據倉庫。負責的就是ETL這塊的開發工作,也就是將業務系統的數據打散、組合,然後按照不同的主題存入到數據倉庫中。其中對於需要記錄歷史的數據做一個時間拉鏈表記錄歷史變化;對於不需要記錄歷史,或者確定不會變化的數據,就直接存儲在數據倉庫中,不會去做拉鏈。數據倉庫的建模方式採用的是依照主題建模。

在數據倉庫之上,還有一層 數據集市層。如客戶領域集市,風險集市等數據集市。這些數據集市是依據之前項目的經驗和成功案例,按照維度建模等原則建立起來的。數據集市中還有很多零星的根據客戶的報表需求建立的表,這些表負責給客戶的報表系統提供客觀、真實、集成的數據。

最後就是客戶通過可視化的手段將數據集市提供的數據做可視化分析。

這麼一套下來就是我們說的BI。

可以看出來,數據倉庫屬於BI的底層,是整個BI的地基。


房子和地基的關係


其實很多人更願意混用data warehousing和BI這兩個詞, 因為在大多數情況下, 整個BI system的backend就是data warehousing實現的(當然也有例外),包括ETL和data store等。這個時候人們說BI/data warehousing,就包括整個流程:從source system讀取數據,ETL後存到data store,然後基於這個data store,在front end有很多BI的applications可以用,比如reporting什麼的。

在用BI這個詞的時候,也有廣義/狹義之分。大多數的情況下,用的是廣義,代表整個BI system (也就是上面說得真箇流程)。狹義的BI只是指那些在front end的BI applications。 analytics, dashboard, score card等


從Kimball的DW/BI的整體架構定義中就可以看出,完整的數據平台應該包含:1.操作型源系統(數據來源);2.ETL系統(抽取、轉換、載入);3.支持BI的展現區(DW,以維度維度模型構建的OLAP資料庫) 4.BI應用(報表等)

所以說,如果BI代表廣義上的商業智能系統的話,數據倉庫DW是該系統的一部分。如果說BI代表狹義的BI應用的話,那麼DW是用以支撐BI的應用的統一數據來源


數據倉庫是EPM應用-BI,計劃預算,合併報表,財務預測等應用的基礎技術。

BI是數據倉庫的應用之一。數據倉庫最典型的應用,是計劃預算-Planning


我們一般這麼區分:dw是倉庫,bi是報表。也有人說dw是bi的一部分


業務層面和技術層面的東西。。bi只要說業務為什麼是這樣,怎樣才能產生價值。。dw就是搞一堆數據。


DW屬於BI的一部分,一般來說DW就是BI這個房子的地基了. 做好DW才好進而分析利用,讓數據產生價值. DW沒做好,整個BI項目很容易垮掉. -個人理解僅供參考


銀行要出一張報表,裡邊包含了十幾個不同系統的數據,那該怎麼辦呢?

先讓這十幾個系統把數據處理成統一格式交給數據倉庫,數據倉庫再進行處理(多數只是打包根本不處理)之後給到BI,

BI工程師拿到數據,先寫個sql,然後再畫報表,展示出來。


DW是基礎吧,將數據抽取過來,清洗完,整合到主題域和多維模型里,然後BI就可以基於主題域和多維模型做各種分析了


BI是商務智能,記得這個概念當時提的比較早,記得是在96年就已經提出,它是一類由數據倉庫、數據的分析和挖掘和數據備份與恢復組成的,以幫助企業決策為目的技術及其應用。

數據倉庫特性:主題導向、整合性、長期性、與穩定性

1.主題導向,滿足日常作業需求的信息系統,其重點在於相關的應用軟體是否符合業務所需,而為使系統響應時間縮短,其資料庫或文件系統的設計常各自獨立,且數據內容常有重複或不一致的現象。數據倉庫的信息系統,其重點在於企業經營時,重要主題組件。

2.整合性,當確認相關的主題組件後,各應用系統的數據須經過整合,以便執行相關分析作業。

3.長期性,日常性作業的信息系統,受限於軟硬體設備的容量及響應時間等因素,常無法保留太長時間的信息。而數據倉庫系統,為了執行趨勢分析,常須保留1~10年時間

4.少變性,日常性作業的信息系統,其數據內容常常頻繁地存取及異動。當數據從日常性作業的信息系統中轉入數據倉庫系統後,主要用於大量數據查詢及分析,事實上,從忠於原始數據源的角度來看,異動數據倉庫的數據,是不合理且不道德的做法。

數據倉庫是商務智能的一部分,或者說數據倉庫是BI的一個子集,或者理解為大眾與汽車行業的理解,大眾推動了汽車行業的發展,大數據時代已經來臨,大數據基本特徵主要體現在哪幾個方面? - 大數據 多智時代


推薦閱讀:

如何建設數據倉庫?
ETL工程師,數據開發and數據倉庫工程師,要如何做職業規劃,求方向,求出路?
資料庫 與 數據倉庫的本質區別是什麼?

TAG:商業智能BI | 數據倉庫 |