大數據和商業智能的關系是什么?
我發現一個問題,當和一些不熟悉我們這個領域的朋友們來說,解釋大數據的概念比起解釋商業智能 BI 要容易的多。舉個例子,我們問“你知道什么是商業智能 BI”嗎?通常情況會一臉茫然的回答到:“不知道!”。但是當我們問:“你知道什么是大數據嗎?”,通常情況下大部分人都會很直接的回答:“大數據,我知道啊!”.....“就是數據很大”(我問過我同學、朋友、家人,答案幾乎一致,但是他們完全沒有相關任何從業經驗)。通常的還有數據分析、數據挖掘,這些名詞本身就和大數據一樣自帶解釋功能。對于一般非本行業的朋友們來說,看到這些詞通過字面意思通常就能理解個大概,所以取一個好名字就顯得有多么的重要。
站在一個比較專業的角度來看,這些解釋肯定不太嚴謹或者本身的理解就是錯誤的,比如前面所提到“大數據就是數據大”的情況。但我個人認為這些并不是什么太大的問題,因為能理解個大概總比解釋了半天還不能理解要好。那我現在要說的就是如何向身邊的朋友或者客戶解釋什么是商業智能 BI。
不要試圖用一句話解釋什么是 BI
在看下面的文章之前,先停下來想一下,假設是由你來介紹,你會用什么樣的方式向一個朋友或者你的客戶來解釋什么是商業智能(Business Intelligence) 呢?
比如:
BI 就是把數據轉換為信息。
BI 就是報表。
....
我要說的是,不要嘗試用一句話解釋商業智能 BI 是什么,因為它本身就是一個專業詞匯,背后涉及到方方面面的概念和知識體系。就如同跟一個不懂遺傳學的人解釋什么是“孟德爾遺傳規律”一樣,即使可能用一句話高度概括了,但我相信很多人聽了仍然不懂。所以,當你向你朋友解釋不了什么是商業智能 BI 的時候,這是非常正常的。不是我們知識不夠我們講的不好,而是因為它本身太專業,它包括了 ETL、數據倉庫、OLAP、數據分析、數據挖掘等專業技術,以及整套將數據變為信息、信息升華為價值的整個過程。
當每個人都認為自己解釋的是正確的,但同時在別人的眼里都是不正確的或者不是很完美的時候,就不要試圖用一句話來解釋了。
什么是商業智能 BI?
我們先來看看官方的解釋。
1) 來自 Wikipedia 的定義:Business intelligence (BI) can be described as "a set of techniques and tools for the acquisition and transformation of raw data into meaningful and useful information for business analysis purposes". (Business intelligence)
2) 來自百度百科:BI 是Business Intelligence的英文縮寫,中文解釋為商務智能,用來幫助企業更好地利用數據提高決策質量的技術集合,是從大量的數據中鉆取信息與知識的過程。簡單講就是業務、數據、數據價值應用的過程。(Business Intelligence)
對于一些完全沒有接觸過 BI 的朋友們來說是不是很難理解? 什么叫高質量決策的技術集合?什么叫鉆取數據?業務、數據、數據價值應用又是什么?
如何快速的理解商業智能 BI?
跟人們解釋一樣東西,還是從他們最熟悉的東西開始。我們從到一個餐廳點單開始說起,同時便于大家對比和理解,我在這里不提商業智能 BI,只提一個最簡單的場景,從做一張報表開始。
點單和提出報表需求
在圖片左邊,我們現在去一個餐廳點單,需要點一個菜叫做“小雞燉蘑菇”。同時在圖片右邊,我們需要做一張有關銷售方面的報表。
餐廳點單的時候,顧客提出了具體的要求(假設可以這樣隨便提出要求),比如對于食材必須是深山散養的童子雞,以及對于其它材料的要求,蘑菇的切法等等。這就對應于我們現在要一張有關“產品銷售分析”的報表一樣,需要弄清楚這張報表應該如何展現,具體需要哪些方面的數據展現在報表上面。無論是點單還是報表需求詢問,這都是一個“提出需求的過程”。客戶要什么東西,這些東西怎么做,這些就是需求。
備菜的過程與準備報表數據
備菜的過程說簡單點就是要上這盤菜,要炒這盤菜,首先我們得把原材料準備好,比如雞肉、香菇。同樣的,我們要去準備一張報表,需求拿到了,那我們就要去準備好這些數據,比如銷售相關的、產品相關的數據。備好的菜是放在一個叫操作臺的地方,大廚就直接可以炒菜了。同樣的,備好的數據放在一個叫“數據倉庫 Data Warehouse”的地方,報表開發人員可以從里面直接找到數據制作報表。
原材料的清洗和數據的清洗
下鍋炒菜的時候不能直接把一只雞放在操作臺上扔進鍋里炒,在原材料變成炒菜的材料之前要把雞割頸拔毛開膛破肚去屁股尖切成塊;蘑菇去根,洗凈,頂部開十字口等等,這是一個擇菜、洗菜、把源材料變成一個真正可用可下鍋的一個過程。這個過程就是 ETL —— Extract 抽取,把雞拿出來;Transformation 轉換,把雞變成雞塊,完成清洗和轉換工作;Loading 加載,把洗凈的雞塊放到操作臺上以供隨時炒菜。
數據的準備過程和菜品原材料的清洗過程是一樣的道理,數據是存放在一些數據表中,但是并不是所有的數據都需要抽取出來,只有有用的數據才會被抽取(Extract);涉及到一些數據需要去重、合并計算、格式轉換(比如 15/10/22 轉換成 2015-10-22)等都屬于 Transformation 階段;Loading,最后把數據統一加載到數據倉庫 Data Warehouse,數據倉庫中有一組表。
對于菜品的源材料清洗過程很容易理解,這里為了讓大家理解對于數據 ETL 的過程,舉了下面這個例子。第(1)張表是我們的原始數據,我們的清洗規則是拿到從0034到0036,0036到0048之間的時間間隔,因此需要通過程序來計算和整理這些數據,可能先轉變成第(2)張表的數據,最后再計算轉變成第(3)張表的結果。而第(3)張表的結果就是報表最后要的結果,比如展示 ID = 1001, 1002, 1003 ... 等各自的時間間隔。
原材料的采購和源數據的加載
我們再繼續想一想,這些雞和蘑菇是從哪里來的?菜場。可能是一個菜場,也可能是多個菜場的多個攤位采購的,采購之后先原封不動的放到廚房。
源數據的采集和加載也是同樣的道理,數據可能是來自外部系統,也可能來自內部的不同業務系統,比如 CRM 系統、ERP 系統,也有可能來自業務人員的 EXCEL 表格, 這些統稱為 Data Source 數據源。
這些數據通過 ETL 工具原封不動的抽取到一個叫做 ODS 或者 STAGING 的數據庫(或者數據庫中的一些表)先存放起來,就類似于把菜買回來先放到廚房,先放起來。后面才有數據的清洗、整理,完畢之后才放到數據倉庫,在之后就是制作報表的過程。
這里還要解釋一下,ETL 工具和 ETL 的概念區別。ETL 描述的是將數據從一個源頭抽取出來,中間完成了數據的清洗和整理,把干凈的數據放入到目標數據庫或表這樣的一個過程。這個過程是可以通過一些工具來實現的,這些幫助實現 ETL 過程的工具統稱為 ETL 工具,比如 DataStage、Kettle、Informatica、微軟 BI 的 SSIS 等。
回顧整個過程
其實到這里,這些流程已經是比較清楚了,現在只需要反轉一下。
其中有幾個點我再來解釋一下:
第一,菜并不是客戶點了單之后我們才到市場去采購的,而是在點菜之前就準備好了的。同樣的,報表并不是客戶提出了需求我們才去找數據,可能這些數據早就準備好了,當報表需求提出的時候我們只需要從數據倉庫中去取就可以了。如果菜品的源材料沒有了,只是當時這個菜可能做不了,但并不代表以后這個菜就沒有了,以后仍然可以采購。同樣的,如果報表所要的數據沒有了,就需要順著這個流程反過來去找,找到數據的源頭,然后抽取過來,加工放到倉庫里。
第二,在 BI 項目中,通常數據是定時比如說每天晚上或者凌晨從各個數據源抽取到 STAGING/ODS,再到數據倉庫,所有的歷史數據根據不同的設計得到部分或者全部保留。
第三,從上圖中 ODS/STAGING 到 DW 處我用 ETL 來匹配“擇菜、洗菜、切菜”的過程。其實從各個數據源抽取數據到 ODS/STAGING,也屬于 ETL,只不過在這個 ETL 過程中數據都是原封不動的搬過來,發生了很少的或者沒有發生 TRANSFORMATION 轉換操作。
一個簡單的 BI 項目架構
這篇文章不會把 BI 描述的過于復雜,就如同描述一棟住宅一樣。這個住宅你可以規劃的非常復雜,把一切都描述的盡善盡美。你也可以把住宅畫的很簡單,也能讓大家明白這就是一個住宅,有門有窗有房頂。同樣的道理,對于 BI 來說,不同的人有不同的解釋和定義,但我們一樣可以描述的很簡單。
商業智能 BI 就是一個把數據變為信息的過程 —— 將企業中的各個部分、各個業務系統中的數據統一的按照一定規則的抽取、清洗,最后加載到一個統一而集中的數據庫中。在這個數據庫之上,可以做報表展現、也可以做數據分析,最后這些展現和分析的結果將能成為一些決策的重要數據支持,這就是描述商業智能 BI 的一個最簡單的價值。簡單概括這個過程所體現的三個大的部分就是:Data Source 數據源,Data Warehouse 數據倉庫的數據準備,Reporting 報表系統提供報表展現和數據分析。
關于報表展現和數據分析
我這里再來放一些圖表,來自不同的報表工具,這些報表都是以展現或者分析的目的而制作的,通過數據報表來發現和找到企業在生產、內部管理、市場、客戶管理等各個方面的問題,或者作為日常會議決策過程的數據支持。
最后我要說的是,這并不是 BI 的全部,BI 所涉及到的內容和部分比想象中的更復雜。但是作為一個之前并不了解 BI 的朋友們來說,相信通過這篇文章會讓你對 BI 的認識更加清晰一些,盡管到最后你還是不能用一句話來表達它的全部。如果看完了之后,更加覺得疑惑或者有更多的問題想要拋出來,可以稍微壓抑一下自己的沖動,只需要把做飯的過程和我所描述的報表制作過程理解了就可以了。如果連做飯的過程都不知道,我只能說你日子過的太舒服了,請不要到這里和我們搶飯碗。
如果想了解的更加深入,我會在我的專欄(天善智能社區 BIWORK)更新更多這樣的文章,比如商業智能 BI、大數據、數據分析和數據挖掘它們之間的關系,BI 體系的技術與產品劃分等內容。
之前發布的一些文章:
如何看懂 Gartner 魔力象限?再度解析 Gartner 2016年商業智能與分析平臺魔力象限業務人員不知道如何提出 BI 需求,老板不重視 BI 項目怎么辦?IT 外包中的甲方乙方,德國人,美國人,印度人和日本人印象雜談有感于三個50歲的美國程序員的生活狀態與IT職業雜想如需轉載,須經天善智能或本人同意授權,并請完整保留以下內容,否則違者必究:
文本轉自天善智能社區 BIWORK 專欄