商業智慧(BI)學習筆記

來源:互聯網
上載者:User
近期的一個項目需求方提出了congons產品的應用。雖然從業務需求中大概明白這是個資料分析和統計的工具平台,但具體的應用則一概不知。以前對於資料倉儲和資料採礦技術,只覺得是比較深奧和偏遠的東西,避之而唯恐不及。現在突然接觸到,有一種莫名的迷茫。 在google和百度中搜尋了好一陣,獲得了一些關於BI(商業智慧)的知識,對資料倉儲和資料採礦有了新的認識。以往的迷茫和技術開發中的困惑,似乎一下子迎刃而解。 
  • OLAP教程
  • 九大資料倉儲技術比較
  • BLOG: what is BI and OLAP?
在上面的這篇blog中,作者由淺入深的講解了BI的有關概念,並逐漸的引入了:OLAP、多維Cube、資料採礦、資料倉儲的概念,並在具體應用中提及了congnos的用法,有一種頓悟的感覺。這是一個全新的概念和領域。  1)BI是什嗎?我們平時所接觸到的資料庫,即面向記錄型的資料庫,儲存的都是明細式的業務資料,零碎而又抽象,所以又稱為“操作型”資料庫。 對於企業的決策者來說,對於曆史沉積的資料,如雞肋般食之無味棄之可惜。如何在資料和決策者之間建立一個橋樑,於是“商業智慧(BI)”的概念由此而生。 BI(Business Intelligence) 是一種運用了資料倉儲、線上分析和資料採礦等技術來處理和分析資料的嶄新技術,目的是為企業決策者提供 決策支援。 BI 是一個工廠:

>> BI 的原材料是海量的資料
>> BI 的產品是由資料加工而來的資訊知識
>> BI 將這些產品推送給企業決策者
>> 企業決策者利用 BI 工廠的產品做出正確的決策,促進企業的發展;

2)資料查詢相比較於傳統的基於sql語句的查詢,BI工具一般都提供了基於介面的查詢手段,使用者只需要通過滑鼠的拖拽,就可以簡單的完成資料的查詢工作。   3)資料報表報表就是將查詢出來的資料按照指定的格式展現,是sql查詢的直觀展示。    4)線上分析處理(OLAP) 線上分析處理,是 BI 帶來的一種全新的資料觀察方式,是 BI 的核心技術之一。 在傳統的二維表中,資料以記錄的形式儲存在資料庫中。如果我們想要獲得某一特定條件的資料的匯總和統計資訊,例如不同類別、不同時期資料的比較和佔比,就必須手工編寫複雜而又容易出錯的SQL SUM語句。 寫到這裡,不由得再次回想起上一個“大額現金管理”的項目。在這個項目中,就有一個這樣的資料統計模組,要求對不同時期、跨年、跨月對資料進行比對和統計比例。當時為了寫這樣的SQL語句,動用了大量的SQL統計函數和聯合union。寫成的語句為了在java和db2環境中進行調試,還不得不在每個sql語句的換行處加上/r/n分行符號,真是醜陋無比。

OLAP系統按照其儲存空間的資料存放區格式可以分為關係OLAP(RelationalOLAP,簡稱ROLAP)、多維OLAP(MultidimensionalOLAP,簡稱MOLAP)和混合型OLAP(HybridOLAP,簡稱HOLAP)三種類型。

1.ROLAP

ROLAP將分析用的多維資料存放區在關聯式資料庫中並根據應用的需要有選擇的定義一批實視圖作為表也儲存在關聯式資料庫中。不必要將每一個SQL查詢都作為實視圖儲存,只定義那些應用頻率比較高、計算工作量比較大的查詢作為實視圖。對每個針對OLAP伺服器的查詢,優先利用已經計算好的實視圖來產生查詢結果以提高查詢效率。同時用作ROLAP儲存空間的RDBMS也針對OLAP作相應的最佳化,比如並行儲存、並行查詢、並行資料管理、基於成本的查詢最佳化、位元影像索引、SQL的OLAP擴充(cube,rollup)等等。

2.MOLAP

MOLAP將OLAP分析所用到的多維資料物理上儲存為多維陣列的形式,形成“立方體”的結構。維的屬性值被映射成多維陣列的下標值或下標的範圍,而總結資料作為多維陣列的值儲存在數組的單元中。由於MOLAP採用了新的儲存結構,從物理層實現起,因此又稱為物理OLAP(PhysicalOLAP);而ROLAP主要通過一些軟體工具或中間軟體實現,物理層仍採用關聯式資料庫的儲存結構,因此稱為虛擬OLAP(VirtualOLAP)。

3.HOLAP

由於MOLAP和ROLAP有著各自的優點和缺點(如下表所示),且它們的結構迥然不同,這給分析人員設計OLAP結構提出了難題。為此一個新的OLAP結構——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP兩種結構的優點結合起來。迄今為止,對HOLAP還沒有一個正式的定義。但很明顯,HOLAP結構不應該是MOLAP與ROLAP結構的簡單組合,而是這兩種結構技術優點的有機結合,能滿足使用者各種複雜的分析請求。

OLAP提出了CUBE(立方體)的概念,把資料抽象成“維度”和“度量”。維度可以想象成多維座標的座標軸,多個座標的交匯點對應的值就是“度量”。
 
維度還可以進一步進行分類和匯總,例如按日分類為月,按月分類為年,按地點分類為地區……,無論如何歸類,總是可以在座標中找到一個交匯點,這個點就是我們關注的值。 這是一個非常直觀的概念。通過對CUBE進行向下切入(Drill Down)和向上匯總(Roll Up),我們就可以得到任何我們想得到的資料。 CUBE同樣可以通過豐富的圖表進行展示。使用者只需要選擇了維度和度量所對應的欄位,就可以立即從BI平台中獲得生動的圖表展示:   5)資料採礦相比於上面的技術,資料採礦集中體現了BI中I,即智能。資料採礦的目的是通過電腦對大量資料進行分析,找出資料之間潛藏的規律和知識,並以可理解的方式展現給使用者。 資料採礦的三大要素是:

>> 技術和演算法:目前常用的資料採礦技術包括——
        自動類別偵測(Auto Cluster Detection)
        決策樹(Decision Trees)
        神經網路(Neural Networks)

>> 資料:由於資料採礦是一個在已知中挖掘未知的過程,因此需要大量資料的積累作為資料來源,資料積累量越大,資料採礦工具就會有更多的參考點。

>> 預測模型:也就是將需要進行資料採礦的商務邏輯由電腦類比出來,這也是資料採礦的主要任務。

6)資料倉儲
在前面已經提到了“操作型資料庫”,資料倉儲則是對操作型資料庫概念的擴充。

“資料倉儲”用於決策支援,面向分析型資料處理,不同於操作型資料庫;另外,資料倉儲是對多個異構的資料來源有效整合,整合後按照主題進行了重組,並包含曆史資料,而且存放在資料倉儲中的資料一般不再修改。

操作型資料庫 、資料倉儲與資料庫之間的關係,就像 C:、D: 與硬碟之間的關係一樣,資料庫是硬碟,操作型資料庫是 C:,資料倉儲是 D:,操作型資料庫與資料倉儲都儲存在資料庫裡,只不過表結構的設計模式和用途不同。

7)為什麼有資料倉儲
那麼為什麼要在操作型資料庫和 BI 之間加這麼一層“資料倉儲”呢?

一是因為操作型資料庫日夜奔忙,以快速響應業務為主要目標,根本沒精力伺候 BI 這邊的資料需求,而且 BI 這邊的資料需求通常是匯總型的,一個 select sum(xx) group by xx 就能讓操作型資料庫耗費大量資源,業務處理跟不上趟,麻煩就大了,比如你存了 5000 元錢,發現十分鐘後錢還沒到賬,作何感想?一定是該銀行的領導在看餅圖?

二是因為企業中一般存在有多個應用,對應著多個操作型資料庫,比如人力資產庫、財務庫、銷售單據庫、庫存貨品庫等等,BI 為了提供全景的資料檢視,就必須將這些分散的資料綜合起來,例如為了實現一個融合銷售和庫存資訊的 OLAP 分析,BI 工具必須能夠高效的取得兩個資料庫中的資料,這時最高效的方法就是將資料先整合到資料倉儲中,而 BI 應用統一從資料倉儲裡取數。

 將分散的操作型資料庫中的資料整合到資料倉儲中是一門大學問,催生了資料整合軟體的市場。這種整合并不是簡單的將表疊加在一起,而是必須提取出每個操作型資料庫的維度,將共同的維度設定為共用維度,然後將包含具體度量值的資料庫表按照主題統一成若干張大表(術語“事實表”,Fact Tables),按照維度-度量模型建立資料倉儲表結構,然後進行資料幫浦轉換。後續的抽取一般是在操作性資料庫負載比較小的時候(如淩晨),對新資料進行增量抽取,這樣資料倉儲中的資料就會形成積累。  大多數 BI 應用並不要求擷取即時的資料,比如決策者,只需要在每周一看到上周的周報就可以了,95% 的 BI 應用都 要 求即時性,允許資料有 1 小時至 1 個月不等的滯後,這是決策支援系統的應用特點,這個滯後區間就是資料幫浦工具工作的時間。當然,BI 應用中通常還將包含極少的對即時資料的要求,這時僅需針對這些特殊需求,將 BI Querying 軟體直接連接在業務資料庫上就可以了,但是必須限制負載,禁止做複雜查詢。

目前的資料庫產品都對資料倉儲提供有專門最佳化,例如在安裝 MySQL 的高版本時,安裝成序會詢問你是想讓資料庫執行個體作為 Transaction-Oriented ,還是 Decision Support ,前者就是操作型資料庫,後者就是資料倉儲(決策支援麼,再振臂高呼一遍),針對這兩種形式,資料庫將提供針對性的最佳化。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.