• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • BI

    上一篇 / 下一篇  2008-03-30 00:18:20 / 個人分類:技術文檔

    現在我們 Xerdoc 團隊在做的事情,已經牽涉到 BI 的概念,BI 這個詞的詞頻也在團隊內呈現上升態勢。BI這個詞是我帶進來的,但從一開始,我就一直沒有機會向諸位隊友系統講述過什么叫 BI;索性現在在這里科普一下,把我四年積累的知識給諸位來一個速成,讓我們共同開闊視野,活躍思維。
    ant" height=200 src="http://xerdoc.com/blog/wp-content/resources/BI_Title.gif" width=320 border=0> (1) 老板,你要這么多數據做什么?
        假如你是一個商品零售公司的老板。     你的公司很先進,已經實現了業務信息化,每一筆銷售單據都保存在數據庫中,日積月累,已經保存了十余年的銷售數據,上億條銷售記錄。
        這時如果我問你:“反正三年前的數據留著也白白占地方,耗費存儲成本,索性把它們全刪掉吧,這樣不用買硬盤就能容納新數據,如何?”
        你會從容的接受我這個建議嗎?
        
        那么老板,你要這么多數據做什么?
        是的,和我一樣,你也已經隱約認識到數據的價值,這就是我們割舍不下歷史數據的原因,就像任何一個現代化企業,甚至就像任何一個傳統的票號,如百年老店般虔誠地保存著古老的數據,因為我們有直覺,我們的直覺告訴我們:這些數據有用!
        但這僅僅是一種直覺,到底該怎樣把這些占據大量存儲空間的數據的價值挖掘出來,讓這些數據從成本的消耗者變成利潤的促進者?
        這中間似乎缺少了某些環節。
    (2) Business Intelligence - 連接數據與決策者     BI(Business Intelligence) 是一種運用了數據倉庫、在線分析和數據挖掘等技術來處理和分析數據的嶄新技術,目的是為企業決策者提供決策支持。     讓我們振臂高呼三遍:決策支持,決策支持,決策支持!
        BI 是一個工廠:
            >> BI 的原材料是海量的數據;
            >> BI 的產品是由數據加工而來的信息知識;
            >> BI 將這些產品推送給企業決策者;
            >> 企業決策者利用 BI 工廠的產品做出正確的決策,促進企業的發展;
        這就是 Business Intelligence,即商業智能——連接數據與決策者,變數據為價值。
        BI 應用的兩大類別是 信息類應用 知識類應用,其特征如下表所示:
    信息類 BI 應用    指由原始數據加工而來的數據查詢、報表圖表、多維分析、數據可視化等應用,這些應用的共同特點是:將數據轉換為決策者可接受的信息,展現給決策者。
        例如將銀行交易數據加工為銀行財務報表。    僅負責提供信息,而不會主動去分析數據。
         例如,銀行財務報表工具沒有深入分析客戶流失和銀行利率之間關系的能力,而只能靠決策者結合信息,通過人的思考,得出知識。知識類 BI 應用    指通過數據挖掘技術和工具,將數據中隱含的關系發掘出來,利用計算機直接將數據加工為知識,展現給決策者。    會主動去數據中探查數據關聯關系,發掘那些決策者人腦無法迅速發掘的隱含知識,并將其以可理解的形式呈現在決策者面前。    
    (3) BI 初級應用模式概覽——數據查詢(Querying)
    類別:信息類應用; 星級:*____
        數據查詢是最簡單的 BI 應用,屬于 MIS 系統遺產,雖然出身比較老土,但是目前仍然是決策者獲取信息的最直接的方法。
        如今,數據查詢界面已經徹底擺脫了傳統 SQL 命令行,大量的下拉菜單、輸入框、列表框等元素甚至是鼠標拖拽界面將后臺干苦力的 SQL 語句包裝成一個妖艷無比的數據獲取系統,而本質仍然沒有離開數據查詢的幾大要素:
        
       >> 查什么
       >> 從哪兒查
       >> 過濾條件
       >> 展示方法
        
        目前國外比較流行的數據查詢應用已經完全釋放了數據查詢的靈活性,如右圖所示的是 Cognos ReportNet 的數據查詢界面 Query Studio,允許用戶通過純瀏覽器界面,以鼠標拖拽操作定義數據查詢要素,并以報表和圖表等多種方式展現數據。
    (4) BI 初級應用模式概覽——報表(Reporting)
    類別:信息類應用; 星級:**___
        報表是國內最熱衷的 BI 應用之一,這與報表在我國企事業單位中的歷史地位是分不開的。我國的報表以其格式詭異、數據集中、規則古怪等特征著稱于世,曾經讓無數國外報表工具和 BI 工具捶胸頓足。     報表的兩大要素是數據格式, 如果沒有格式,則報表應用幾乎等同于數據查詢應用?梢哉f,報表就是將查詢出來的數據按照指定的格式展現。
        報 表應用包含了報表展現和報表制作兩大模塊。報表展現就是讓決策者看到報表,并允許決策者通過條件定義 來選擇報表數據,例如選擇報表年度、部門、機構等等;報表制作面向報表的開發人員,其格式定義靈活性、數據映射靈活性、計算方法的豐富程度等均影響了 BI 報表應用的質量。
        需要澄清一下的是,Microsoft Excel 不算是一個 BI 報表工具,因為 Excel 沒有連接數據源的能力,充其量是一個 Spread Sheet。但是 Excel 強大的格式功能讓報表制作人員竟折腰,乃至到后來,幾乎所有 BI 廠商都提供了面向 Microsoft Excel 的插件,通過插件,Excel 可以連接到 BI 的數據源上,搖身一變為 BI 報表工具,丑小鴨變天鵝。
         上 圖是典型的中國特色的報表,注意其橫向表頭,各列嵌套層數不一樣,行話叫“不均衡報表”。這些報表 單元格中的數據是從不同的數據庫表的不同的字段中經過不同的計算方法得到的。這種報表當年秒殺了第一批搶灘中國的 BI 軟件,乃至后來衍生出諸多售前對策,如用位圖畫表頭然后用數據庫存儲過程計算表瓤、程序調用 Excel COM 嵌套拼接等等各類江湖招數。 (5) BI 高級應用模式概覽——在線分析(OnLine Analytical Processing,OLAP)
    類別:信息類應用; 星級:*****

        OLAP ,即聯機分析處理,是 BI 帶來的一種全新的數據觀察方式,是 BI 的核心技術之一。     我們知道,數據在數據庫中是以數據表來存儲的,比如某商店的銷售數據存儲在如下所示的一張數據表中:
    銷售時間
    銷售地點
    產品
    銷售數量
    銷售金額
    2004-11-1
    北京
    肥皂
    10
    342.00
    2004-11-6
    廣州
    桔子
    30
    123.00
    2004-12-3
    北京
    香蕉
    20
    12.00
    2004-12-13
    上海
    桔子
    50
    189.00
    2005-1-8
    北京
    肥皂
    10
    342.00
    2005-1-23
    上海
    牙刷
    30
    150.00
    2005-2-4
    廣州
    牙刷
    20
    100.00
        決策者希望知道的往往是分布、占比、趨勢之類的宏觀信息,比如下列問題:
            >> 北京地區的銷售數量雖時間的變化趨勢?
            >> 哪種產品在 2005 年銷售比 2004 年銷售增幅最大?
            >> 2004 年各產品銷售額的比例分布? ……
        面 對這種需求,必須用 SQL 語句進行大量的 SUM 操作,每得出一個問題的結果,就需要 SQL SUM。面對上面的 7 條記錄,我們可以很容易的得出結果,但是當我們面對百萬級甚至億級的記錄條數時,例如移動公司通話數據,每次 SQL SUM 都需要消耗大量的時間來計算,決策者經常是在第一天提出分析需求,等到第二天才能拿到計算結果,這種分析方式是“脫機分析”,效率很低。
        為了提高數據分析效率,OLAP 技術徹底打破以記錄為單位的數據瀏覽方式,而將數據分離為“維度(Dimension)”和“度量(Measure)”:
            >> 維度是觀察數據的角度,例如上面示例中的“銷售時間”、“銷售地點”、“產品”;
            >> 度量是具體考察的數量值,例如上例中的“銷售數量”和“銷售金額”;
        這樣一來,我們就可以將上面這張平版的數據列表轉換為一個擁有三個維度的數據立方體( Cube ):
         而探查數據的過程,就是在這個立方體中確定一個點,然后觀察這個點的度量值:


        當然,數據立方體并不局限于三個維度,這里采用三個維度來說明問題,只是因為通過圖形可以表現出來的極限就是三個維度。
        維度可以劃分層次,例如時間上可以從日向上匯總為月和年,產品可以向上匯總為食品和日用品,地點可以向上匯總為華北和華南,用戶可以沿著維度的層次任意向下鉆取(Drill Down)和向上匯總(Roll Up):
        通 過這種方式,我們就可以擺脫 SQL SUM 對速度的制約,快速定位符合不同條件的細節數據,更可以迅速得到某一層次的匯總數據。OLAP 技術為決策者提供了多角度、多層次、高效率的數據探查方式,決策者的思維不再被固定的下拉菜單、查詢條件所束縛,而是由決策者的思維帶領數據的獲取,任意 組合分析角度和分析目標,這種打破傳統的互動性分析和高效率使 OLAP 成為 BI 系統的核心應用。
        下圖是 Cognos Powerplay 提供的 OLAP 分析界面,用戶僅需把自己感興趣的維度和度量拖拽到相應位置,就能獲得圖表和報表:
        
    (*) 第四噴:BI 高級應用模式 —— 數據可視化與數據挖掘 (6) BI 應用模式概覽——數據可視化(Visualization)
    類別:信息類應用; 星級:****_
             一圖勝千言。
        數據可視化應用致力于將信息以盡可能多的形式展現出來,目的是使決策者通過圖形這種直觀的表現方式迅速獲得信息中蘊藏的知識,如趨勢、分布、密度等要素。
        值 得一提的是,以 MapInfo 公司為代表的 GIS 軟件商,目前也正在努力結合 BI 應用。MapInfo 率先提出了 Location Intelligence 概念,依托于地理信息系統,展現各地區的屬性值,例如人口密度,工業產值,人均醫院數量等等,這種可視化應用部分與 BI 數據可視化應用重合,并形成有力補充,有時可以在一個項目中互相搭配。
        
        上 圖所示的是 Cognos Visualizer 產品, 這家伙用幾近嘩眾取寵的豐富形式展現數據和信息,包含了地圖、餅圖、瀑布圖等近五十種展現圖形,并提供了二維和三維兩種展現方式。所有的圖形元素都是可活 動的,例如用戶可以通過點擊地圖上的某一個省,鉆取到這個省各個城市的信息,這種可交互性是 BI 與普通圖片生成軟件的顯著差異。  
    (7) BI 應用模式概覽——數據挖掘(Data Mining)
    類別:知識類應用; 星級:*****
        數據挖掘是最高級的 BI 應用,因為它能代替部分人腦功能。     數據挖掘隸屬于知識發現(Knowledge Discovery)在結構化數據中的特例。
        數據挖掘的目的是通過計算機對大量數據進行分析,找出數據之間潛藏的規律和知識,并以可理解的方式展現給用戶。
        數據挖掘的三大要素是:
            >> 技術和算法:目前常用的數據挖掘技術包括——
                    自動類別偵測(Auto Cluster Detection)
                    決策樹(Decision Trees)
                    神經網絡(Neural Networks)
            >> 數據:由于數據挖掘是一個在已知中挖掘未知的過程,
                    因此需要大量數據的積累作為數據源,數據積累
                    量越大,數據挖掘工具就會有更多的參考點。
            >> 預測模型:也就是將需要進行數據挖掘的業務邏輯由
                    計算機模擬出來,這也是數據挖掘的主要任務。
        與信息類 BI 應用相比,以數據挖掘為代表的知識類 BI 應用目前還不成熟,但是從另一個角度來看,數據挖掘可發展的空間還很大,是今后 BI 發展的重點方向,SAS,SPSS 等知識類 BI 應用廠商形象逐漸高大,悄悄占據了新的利潤增長點。
      
              上圖中是著名的 IBM Intelligent Miner 在分析客戶的消費行為。它能對大量的客戶數據進行分析,然后自動將客戶劃分為若干群體(自動類別偵測),并將每個群體的消費特征顯示出來,這樣決策者就能 一目了然的針對不同客戶的消費習慣,制定促銷計劃或廣告計劃。
        
        上述功能如果單靠信息類 BI 應用來實現,則需要決策者根據經驗進行大量的 OLAP 分析、數據查詢工作,而且還不一定能發現數據中隱藏的規律。例如上述客戶分類,對于一個擁有 400 萬用戶的銀行來說,如果沒有數據挖掘工具,會把人活活累死的。
    (8) BI 底座——數據倉庫技術(Data Warehouse)
    類別:大地母親;星級:_____
        在開始噴這個主題之前,讓我們先看看數據倉庫的官方定義:
        
        數 據倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、集成的(Integrate)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的數據集合,用于支持管理決策。以上是數據倉庫的官方定義。
        “操作型數據庫”如銀行里記賬系統數據庫,每一次業務操作(比如你存了5元錢),都會立刻記錄到這個數據庫中,長此以往,滿肚子積累的都是零碎的數據,這種干臟活累活還不得閑的數據庫就叫“操作型數據庫”,面向的是業務操作。
        “數據倉庫”用于決策支持,面向分析型數據處理,不同于操作型數據庫;另外,數據倉庫是對多個異構的數據源有效集成,集成后按照主題進行了重組,并包含歷史數據,而且存放在數據倉庫中的數據一般不再修改。
        操作型數據庫 、數據倉庫與數據庫之間的關系,就像 C:、D: 與硬盤之間的關系一樣,數據庫是硬盤,操作型數據庫是 C:,數據倉庫是 D:,操作型數據庫與數據倉庫都存儲在數據庫里,只不過表結構的設計模式和用途不同。  
        那么為什么要在操作型數據庫和 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 ,前者就是操作型數據庫,后者就是數據倉庫(決策支持么,再振臂高呼一遍),針對這兩種形式,數據庫將提供針對性的優化。
    (9) BI 花邊     BI 的相關知識大致就是這樣了,寫一些花邊作為結束語吧。
        BI 要害:BI 無法處理非結構化數據,只能處理數字信息,但是在企業中,還存在有大量像文本、流媒體、圖片等非結構化的數據,這些數據同樣蘊藏有大量價值,但是面對這些 數據,目前的 BI 工具無能為力。比較靠譜的是 IBM Intelligent Miner for Text,但是它在處理中文方面似乎十分薄弱。
      
        BI 廠商和產品:讓我們 認識一下這些大人物!數據倉庫方面,有 IBM DB2,Oracle,Sybase IQ,NCR Teradata 等等;BI 應用方面,有 Cognos,Business Objects,MicroStrategy,Hyperion,IBM 等等;數據挖掘方面,有 IBM,SAS,SPSS 等等。巨無霸 Microsoft 也在 BI 領域插了一腿,推出了 SQL Server Analysis Server、Reporting Services 等 BI 相關產品,作搶占山頭狀。
        中國的 BI 市場發展:
    時間段
    國內 BI 應用情況
    2002 年以前
        大量 BI 軟件被看作是能從多個數據源中抽取數據的報表工作,滿眼全是報表。
        一開始,公司的銷售在推銷產品時都向用戶介紹:“我們是 BI 領域最強的……”效果不好;后來那些銷售終于找到了竅門,上來就說:“我們什么報表都能做!”然后訂單不斷。
    2002-2003
        OLAP 的價值終于被某些慧眼發現,一些競爭壓力大的企業為了提高競爭力,迫切需要從歷史數據中挖掘價值,迅速發現了 OLAP 的優勢,這時銷售終于不用再說“我們什么報表都能做”了。但是國家機關、壟斷型企業,仍舊是報表,并且以為 BI 就是報表。
    2004
        隨著越來越多成功 BI 項目的實施,OLAP 終于得以見天日,這時國內才形成數據查詢+報表展示+OLAP分析的合理 BI 應用結構。一些數據可視化的需求也時常被用戶提出,在一些競爭激烈、數據量大的企業,已經出現了數據挖掘應用。
    2005
        信息提供已經無法滿足很多企業的要求,特別是銀行、通信、證券等競爭激烈、風險密集的行業,大量涌現對數據挖掘的需求,BI 應用終于形成信息+知識的整體。    BI 工具在中國遇到的難題:
    * 復雜表樣:中國是世界上報表最復雜的國家。中國的表樣設計思想與西方不同,西方報表傾向于僅用一張報表說明一個問題,而中國的報表傾向于將盡可能多的問題集中在一張報表中,這種思路直接導致了中國報表的復雜格式和詭異風格。
    西方報表 (Built by Eclipse BIRT Project)
    中國報表* 大數據量:中國是世界上人口最多的國家。以中國移動公司為例,僅我國一個省的用戶數量,就相當于歐洲一個中等國家的人口,是真正的海量數據!國外數據庫、 數據倉庫和 BI 應用軟件,都在中國經受著大數據量承載能力的考驗。對于美國,可能一個客戶分析應用兩秒鐘就能出結果,但是在中國這樣的數據量下,可就不是兩秒鐘的問題 了。
    * 數據回寫:中國是世界上對 BI 系統要求最奇特的國家。本來 BI 系統是以忠實再現源數據為原則,但這個原則在中國遇到了難題,許多領導都提出了數據修改需求,“報表里數字不好看,就要能改啊,而且有時候也需要調整啊, 這樣上級領導看著就好嘛! ”一個領導如是說。目前能滿足此要求的 BI 產品,僅有 Microsoft 和 MicroStrategy 兩家。微軟對中國市場算是吃透了。
        雷鋒出世,開放源代碼的 BI 平臺:在 著名 BI 廠商 Actuate 的貢獻和支持下,Eclipse 于 2004 年 10 月左右開始了 BIRT 項目,涉足 BI 領域。Actuate 雖然沒有其他 BI 廠商有名,但是 Cognos、MicroStrategy 等市場上風光無限的廠商在關鍵模塊中使用的實際上都是從 Actuate 購買來的內核。     目前 BIRT 項目已經發布了 1.0 版本,提供了一些 BI 報表和圖表應用模塊,距離商業化的 BI 平臺還有很大差距,可畢竟 BIRT項目僅發展了不到六個月,能取得如此進展還是不錯的。很希望盡快看到 BIRT 能實現 OLAP、數據可視化甚至數據挖掘等模塊,給開放的世界一些精彩。

    TAG:

    病人的個人空間 引用 刪除 病人   /   2008-03-30 00:20:53
    提前聲明:此文章為轉載
     

    評分:0

    我來說兩句

    顯示全部

    :loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

    我的欄目

    日歷

    « 2011-06-15  
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  

    數據統計

    • 訪問量: 79
    • 日志數: 1
    • 建立時間: 2007-12-19
    • 更新時間: 2008-03-30

    RSS訂閱

    Open Toolbar
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>