商業智能的概念
Gartner Group與1996年最早提出商業智能(Business Intelligence)的概念,當時將商業智能定義為一系列的概念和方法,通過應用基于事實的支持系統來輔助商業決策的制定。商業智能技術提供使企業迅速分析數據的技術和方法,包括收集、管理和分析數據,將這些數據轉化為有用的信息,然后分發到企業各處。
商業智能以數據庫技術為支撐,包括數據提取、轉換和加載(ETL),聯機分析處理、數據挖掘和商業模型等,其發展先后經歷了事務處理系統(TPS)、高級管理人員信息系統(EIS)、管理信息系統(MIS)以及決策支持系統(DSS)等階段,最終成為企業商業智能。
對商業智能目前還沒有準確的定義,不同的組織給出了不同的理解。Data Warehouse Institute認為“商業智能是將數據轉換成知識并將知識應用到商業行為上的一個過程"。
GartnerGroup認為“商業智能是將數據轉換成信息的過程,然后通過發現將信息轉化為知識"。
IBM則認為商業智能是指一種能力:通過智能地使用數據財產來制定更好的商務決策。
以上從不同的角度給出了商業智能的定義,但都沒有闡述其本質。商業智能被認為是將數據轉化為知識,幫助企業做出業務決策的工具。為此目的,引需要利用數據倉庫、聯機分析處理(OLAP)工具和數據挖掘等技術。從技術上講商業智能只是以上技術的綜合運用,所以商業智能應該被看成是一種解決方案,商業智能的關鍵是從許多不同的企業運作系統數據庫中提取出有用的數據并經過抽取(Extraction)、轉換(Transformation)和裝載(Load),合并到企業數據倉庫里,從而得到企業數據倉庫的總體視圖,并利用適當的查詢和分析工具、數據挖掘工具、OLAP工具等對其進行分析和處理,將數據展示出的知識展現給決策者,決策過程提供支持。
商業智能的研究內容
商業智能的研究主要集中在三個方面:支撐技術的研究、體系結構的研究、應用系統的研究。
(1)支撐技術的研究。商業智能是一個跨學科領域,主要借助兩大學科的成果,一是計算機技術,其中關鍵是數據倉庫技術和數據分析以及數據挖掘技術;另一個是企業管理方面的進展。計算機技術為商業智能系統能夠提供技術支撐;企業管理理論為商業智能系統提供業務動力。
(2)體系結構的研究。一般認為商業智能系統主要包括數據預處理、建立數據倉庫、數據分析及數據展現四個主要階段,而數據倉庫、OLAP和數據挖掘技術是商業智能的三大關鍵技術。一般認為商業智能(BI)系統的架構。
(3)應用系統的研究。各個應用領域所面臨的決策問題的分析是應用系統的研究的重點。商業智能被應用到企業運營過程的各個領域,并且已經形成其特有體系。對一般企業來說,商業智能可以實現以下作用:幫助企業了解本身的運營推動力和異常情況,協助用戶清楚產品未來趨勢;衡量績效指標,追蹤并管理企業運行的關鍵性能指標;改善和加強客戶關系;掌握各種商務信息挖掘利潤增長點。
商業智能的實施步驟
商業智能系統的實旌涉及企業運作管理、信息系統、數據倉庫、業務數據分析、數據挖掘等知識。即需要選擇合適的商業智能工具,還必須按照正確的步驟實施,商業智能項目可分為以下步驟。
(1)需求分析:需求分析是商業智能實施的第一步,必須明確定義企業對商業智能的期望和需求,包括分析的主題,查看的角度(維度),業務需求和用戶的要求等。
(2)數據倉庫建模:通過需求分析,將企業中的數據按照主題歸類,建立企業數據倉庫的邏輯模型和物理模型,并設計Bl系統的架構。
(3)數據抽取:必須將數據從業務數據庫加載到數據倉庫中, 并在加載過程中進行轉換、清洗,以保證數據的正確性和可用性。
(4)業務系統的開發:主要是根據業務需求,對數據倉庫中的數據進行各種數據分析和展示,主要包括多維數據OLAP分析和數據挖掘,以及建立商業智能分析報表系統及門戶。
(5)系統改進和完善: 根據系統使用情況和用戶反饋信息,對商業智能系統按照上述步驟對系統進行重構或完善。
商業智能的發展趨勢
從應用和技術需求上看,商業智能的發展趨勢可以歸納為以下方面。功能上具有可配置性、靈活性、可變化性。BI系統的使用范圍從特定部門到企業所有用戶,其業務多樣化,需求格式不同,展示方式也各有變化,對BI系統在配置和靈活上提出了要求。
解決方案更開放、可擴展、可定制。BI系統在原有方案基礎,根據企業的獨特需求,增加個性化設置的接口和擴展特性,使系統更加靈活而且擴大了使用范圍。
從單獨的商業智能向嵌入式商業智能發展。即把商業智能組件嵌入到企業現有的應用系統中,使事務處理系統具有商業智能的分析特性。如SAP的ERP就嵌套了Business Objiect的商業智能產品,其它公司也有類似的合并,這是商業智能應用的一大趨勢。
從傳統功能向增強型功能轉變。商業智能增強功能是相對于SOL查詢來說的,而企業建模、多維數據處理、數據挖掘以及數據預測等功能可以提高系統的可用性和智能性,通常被看作BI系統的增強功能。
從市場前景來看,商業智能將面臨BI提供商的合并;從戰略型商業智能向操作性或實時性商業智能轉換;以及更加智能和成熟的分析工具和展現工具等改變。
一、數據倉庫
數據倉庫是商業智能系統的基礎,以往的數據庫系統主要用于事務處理,很難或無法實現分析處理。近年來,越來越多的數據分析與決策信息支持在被企業所重視,數據倉庫技術應運而生。
數據倉庫的定義
目前對于數據倉庫還沒有統一的定義,被稱為數據倉庫之父的BillInmon在其著作《(Building the Data Warehouse))一書中給出的定義被廣泛接受:數據倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、集成的(Integrated)、相對穩定的(Non.Volatile)、反映歷史變化(Time Variant)的數據集合,用于支持管理決策。
可以從兩個層面對數據倉庫的概念進行理解,首先數據倉庫是面向分析處理的,主要用來支持決策制定;再者數據倉庫包含歷史數據,是對多個異構的數據源數據按照主題的集成,它的數據相對固定,不會經常改動。
數據倉庫的特點
面向主題、集成、相對穩定、反映歷史變化是對數據倉庫的定義,也是對數據倉庫特點的描述,下面分別解釋它們的含義。
(1)面向主題的:數據倉庫的數據都是按照一定的業務主題進行組織的,面向主題體現在數據倉庫的建設中,而且還包含在業務數據分析和存儲上。
(2)集成的:數據倉庫中的數據來自各個不同的分散數據庫中,它并不是對源數據庫數據的簡單拷貝,而是按照劃分好的主題和數據分析要求,經過數據抽取、清理、匯總和整理等步驟,消除源數據中的錯誤和不一致數據,保證數據倉庫中數據的正確性和可用性,所以它是整合集成的。
(3)相對穩定的:數據倉庫的穩定性體現在它的非易失性上,由于數據倉庫是面向分析的,其中的數據是從業務數據中加載過來的歷史數據,所進行的主要操作是查詢和分析,供決策分析使用,所以其修改和刪除操作很少,只需要定期的增量加載,所以具有相對穩定特征。
(4)反映歷史變化:數據倉庫必須能夠不斷地捕捉業務系統中的變化數據,記錄企業生產過程的各個階段的信息,以滿足決策分析的需要,所以必須實時地把新變化的業務數據追加到數據倉庫中去,通過數據隨時問變化的研究和分析,可以對企業的發展歷程和未來趨勢做出定量分析和預測。
可見數據倉庫與業務數據庫的不同之處體現在:數據庫是面向事務的設計,數倉庫是面向主題設計的;數據庫一般存儲在線交易數據,數據倉庫存儲的一般是歷史數據; 數據庫設計是盡量避免冗余,一般采用符合范式的規則來設計,數據倉庫在設計是有意引入冗余,采用反范式的方式來設計; 數據庫是為捕獲數據而設計,數據倉庫是為分析數據而設計,它的兩個基本的元素是維表和事實表。
數據倉庫與BI
關于數據倉庫和商業智能的關系,在業界還存在一些分歧。有人從數據倉庫系統的角度考慮,認為數據倉庫包含了從原始數據提取到用于見到的軟件和應的所有內容。它和商業智能的創建步驟和目的都是一致的,它們沒有本質的區別,可以看作是一回事。還有人從靜態的角度看待數據倉庫,認為數據倉庫僅僅是集中式的高度規范化的數據存儲,它只是為商業智能提供數據支持。不管是數據倉庫還是商業智能,都是應業務分析需要而產生的,它們都不可能脫離業務邏輯分析和業務維度分析而存在。兩者是相互存在,互為條件的。不存在脫離商業智能分析的數據倉庫,也不存在沒有數據倉庫支持的商業智能。如果從商業智能的角度考慮,通常認為數據倉庫為商業智能的一部分,它和聯機分析處理以及數據挖掘被定義為商業智能的三個關鍵技術。從這個角度看,在商業智能系統中所指的數據倉庫,是數據倉庫構建和填充的過程,沒有包括其分析功能,它為商業智能系統提供數據基礎。
二、數據抽取、轉換和加載(ETL)
ETL概念及作用
ETL是數據抽取(Extract)、轉換(Transform)、裝載(Load)的縮寫,是完成數據從數據源向目標數據倉庫轉化的過程,抽取是將數據從各種原始的業務系統中讀取出來,這是所有工作的前提。轉換是按照預先設計好的規則將抽取的數據進行轉換、清洗,以及處理一些冗余、歧義的數據,使本來異構的數據格式能統一起來。裝載是將轉換完的數據按計劃增量或全部的導入到數據倉庫中。ETL是數據倉庫、數據挖掘以及商業智能等技術的基石。
ETL是Bl/DW(Business Intelligence)的核心和靈魂,它在商業智能系統中占據舉足輕重的作用。在整個BI項目中最難部分是用戶需求分析和模型設計,而ETL規則設計和實施則是工作量最大的,約占整個項目的60%~80%。可見ETL的重要性,ETL設計的正確性和合理性,直接影響整個BI項目的效率和質量。
數據清洗和轉換
ETL過程中最復雜的是數據清洗和轉換,它通常是與業務需要和后期的數據分析和數據挖掘直接相關的,也是BI項目中資源密集程度最高的步驟。數據清洗的目的是除去數據中的“噪聲(noise)”和不相關的信息。數據轉換的目的是將源數據的數據值與類型轉換為同一的格式。數據清洗和轉換通常包括以下處理。
數據類型的轉換:這是數據轉換中最簡單的任務,由需要通常將布爾類型轉換為整數類型;或連續的數據類型根據一定原則轉變為離散的值;對數據進行歸一化等。
數據分組:有時可能有許多不同的值(狀態)出現在離散列中,為了減少模型的復雜性需要把這些值分組,例如職業可能有幾十種不同的值,如軟件工程師、電子工程師、硬件工程師、顧問等,我們可以用一個“工程師’’來對其進行歸納,以減少模型的復雜度。
數據聚集:聚集計算的結果是根據用戶可能的查詢預先計算好的匯總數據。比如希望通過每個客戶的詳細通話記錄對客戶進行細分,派生出呼叫次數和平均通話時間等屬性列。
離群點的處理:離群點稱為孤立點,是數據集中的異常事例,這些事例是少數的情況,但卻影響一般數據分析模型的準確性,需要對它們單獨進行處理。通常情況是直接刪除這些孤立點,對正常數據進行建模。但有時候對這些點的分析卻有非常重要的意義,比如信用卡欺詐檢測和網絡入侵檢測等。
缺失值處理:從不同數據源集成過來的數據,由于多方面原因存在很多的缺失的數據,這些空值的存在嚴重影響了正常的數據分析工作,必須對其進行處理。目前有一些方法來處理這種問題,利用平均值代替或者用常見的值代替或者直接產出帶空值的記錄,無論使用怎么的方法,都必須看實際業務對數據的要求和對模型準確性的要求程度。
還有其它的數據清洗和轉換任務,在具體操作中,我們需要使用相應的工具來解決業務問題,確保數據的正確性及可用性。
ETL的挑戰
ETL系統是一個復雜的系統工程,雖然ETL已經進入實用階段,但還有許多阻礙其應用的情況。主要體現在異構數據源的結構差別和數據源數據質量方面。ETL的各個數據源位于不同的網絡和操作系統,在數據格式定義,數據結構和接口方面都存在很大差異,給數據提取工作帶來很多的麻煩。而且現有不同數據庫系統存在無法解決的臟數據,包括命名格式不規范,濫用縮寫詞、慣用語、數據錄入錯誤、數據重復、數據丟失、單位尺度不一致等。其中對數據集成和清洗影響最大的是以下問題。
(1)數據冗余不一致。數據庫系統設計時可能從方便或效率方面的考慮,將一種數據分別保存在不同的地方別進行維護,數據的修改得不到及時的反饋和統一,造成了數據之間的不一致,及增加了數據冗余度,也很難分辨數據的正誤。
(2)數據關聯錯誤。由于數據庫設計的不合理,很多情況下會存在數據之間的關聯和依賴,包括屬性關聯即兩個屬性分別可以由對方推導計算出來,或實體關聯即實體間使用關聯屬性來關聯連接。這種設計方式會產生數據之間的不一致、實體關聯性丟失甚至出現實體關聯錯誤。
(3)數據本身錯誤。由于在數據庫設計時沒有進行數據的約束設計,或者用戶輸入數據時的個人疏忽等原因造成數據源中存在不滿足要求的數據以上問題給ETL的設計和實施增加了不同程度的困難,有時只有犧牲數據的準確性來達到系統效率和項目進度的要求。解決這些問題,還需要加強企業工作過程的規范化管理,改善企業的數據庫結構等,隨著企業信息化水平的提高,這些困擾ETL實施的問題會逐漸得到改善和解決。
三、 聯機分析處理(OLAP)
OLAP的理解
OLAP是Online Analytic Process(聯機分析處理)的縮寫,E.ECodd于1 993年首次提出這個概念。從字面上看OLAP是對聯機數據訪問和分析,它是為了滿足更高效地進行多維分析的需求而產生的。OLAP的主要功能是根據用戶所選擇的分析,從多個角度(維)度對信息進行快速、一致、穩定地交互訪問,使用戶可以在短時間內從各種不同的角度審視業務的經營情況。OLAP是一種技術,它最大的特點是其機動性和快速性。OLAP技術是彌補關系數據庫在統計及綜合查詢分析方面的不足,迎合人們對數據的復雜查詢和對于數據分類別及層次等高級分析需求而產生的,能在短時間內響應非專業人員的復雜查詢。可以利用OLM)技術從多種角度對業務數據進行多方面的匯總統計計算,還可以利用數據挖掘技術自動發現其中隱含的有用理解了OLAP與OLTP的區別,也就對OLAP的特點,功能和使用方式有了感性的認識,OLAP作為一種分析和存儲技術,表現出它獨特的優勢。隨著數據倉庫的發展,數據倉庫(DW)系統正成為新的決策管理系統解決方案。DW系統以OLAP為核心,但包括更為廣泛的內容。
OLAP操作
OLAP的目標是滿足決策支持或者滿足在多維環境下特定的查詢和報表需求,它展現在用戶面前的是一幅幅多維視圖,它的技術核心是“維"這個概念。0LAP的多維分析操作有鉆取、切片和切塊以及旋轉等。鉆取是在維的層次上進行向上或向下的查看來改變分析粒度的查詢。它包括向下鉆取(Drill.down)和向上鉆取(Drill.up)/上卷(Roll.up)。Drill.up是在某一維上將低層次的細節數據概括到高層次的匯總數據,或者減少維數;而Drill—down則相反,它從匯總數據深入到細節數據進行觀察或增加新維。切片和切塊是在先固定一些維度上選擇的屬性值,然后查看度量值在其它維度上的變化。如果其它的維有一個則是切片;有兩個以上則是切塊。旋轉是變換維的顯示位置,即在表格中重新安排維的放置。
OLAP的分類
OLAP是以數據存在為前提的,按照數據的存儲格式可以分為以下幾種。
(1)關系OLAP又稱ROLAP使用關系或擴充關系DBMS存放并管理數據倉庫,采用基于稀疏矩陣表示方法的星形結構或雪花結構存儲多維數據,數據檢索比MOLAP低效。
(2)多維OLAP又稱MOLAP是基于多維數據庫來實現的,其數據存儲采用多維方陣或矩陣方式,數據檢索高效,是為直接支持多維查詢分析處理而設計的結構。
(3)混合OLAP又稱HOLAP是結合ROLAP和MOLAP技術,在MOLAP立方體中存儲高級別的聚集,在ROLAP中存儲低級別的聚集。
(4)桌面OLAP指沒有自己的數據存儲庫,把用戶的查詢翻譯為對數據源的查詢,然后再把結果合成返回給用戶。
(5)客戶OLAP是相對于Server OLAP而言的,客戶OLAP把部分數據下載到本地,為用戶提供本地的多維分析。
在商業智能系統中都是在數據倉庫基礎上建立OLAP,所以一般是對關系OLAP,多維OLAP和混合OLAP的討論和使用。
四、數據挖掘
數據挖掘的定義
關于數據挖掘(Date Mining),目前沒有統一的定義,不同的學者或機構按照自己的理解分別給出不同的說法。簡單的說,數據挖掘就是指從大量數據中提取或“挖掘"知識。我們擁有海量的數據,卻苦于信息缺乏,數據挖掘借用從礦石或沙子中挖掘黃金之意,是指從大量數據中自動地發現有趣的模式和有價值的信息,其中數據可以存放在數據庫、數據倉庫或者其它信息系統中有價值的信息的過程。
與數據挖掘關系密切的的一詞是數據中的知識發現即KDD(KnowledgeDiscovery in Database),它是從大量的、隨機的、有噪聲的、不完全的、模糊的數據中,提取潛在的有用的信息和知識,這些知識是隱藏在其中的規律,不容易被人發現和識別㈨。有許多文獻把數據挖掘和IED視為同義詞,認為它們是一回事,但大多數人支持數據挖掘是知識發現過程的的一個基本步驟這樣的說法。知識發現是將未加工的數據轉換為有用信息的整個過程,它包括一些列的轉換步驟,從數據的預處理到數據挖掘結果的后處理。圖2—2給出了知識發現的過程及它與數據挖掘的關系。
在商業智能系統中談數據挖掘,是指在以整理好的數據倉庫基礎進行的特定業務數據的挖掘,它注重數據挖掘算法的應用和挖掘結構的展示。由于是在數據倉庫的基礎上,還注重算法的效率和掃描數據庫次數等方面。數據挖掘技術涉及到數據庫技術、機器學習、統計分析、可視化、信息科學等多種技術。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:詳析商業智能BI(ERP)及其關鍵技術
本文網址:http://www.guhuozai8.cn/html/consultation/10820610270.html