BI: Business Intelligence.網絡
爲商業提供一切智能化操做,判斷與管理的手段,均可以歸攏到 BI 範疇。即使是 AI (Artificial Intelligence)只要其能提供上述功能,依舊能夠成爲 BI 的一部分。架構
什麼是智能化的商業操做,判斷與管理?app
「啤酒與尿布」的故事,在這個行業廣爲人知了。年輕的爸爸在購買尿布的同時,會捎帶上一打啤酒,所以沃爾瑪超市有意將二者放在同一貨架上,提升了二者的銷售量。分佈式
若是說這版本你沒有切身體驗,那麼請你打開亞馬遜 app 或者網站,你輸入 data warehouse, 是否是會看到一連串的帶有 data warehouse 標題的書,選擇第一本點進去,你將看到以下的畫面:oop
這就是最典型的一個應用案例。全部促使這一切生成的技術均可以概括到 BI 中來。大數據
BI 一個概念級的企業部門,要落實到具體工做,仍是講究其實現技術。網站
上面亞馬遜購書案例,體現的是一個 BI 應用概念,即推薦。那麼怎麼實現這個應用,咱們仍是須要具體講解其實現的技術細節。每一個細節上將會安排特定的工程師來實現,每一個工程師分配到了題中涉及到的這些職務。人工智能
(圖摘自 Google, 版權原著全部)設計
亞馬遜購書是個時尚的事兒,也給亞馬遜提供了豐富的用戶「軌跡」數據。經過記錄這些用戶行爲數據,亞馬遜整了一個數據倉庫,將你我他的購書記錄放在了一張表裏,經過 SQL 技術,將購買組合當作特殊購買行爲存儲了下來。當網友購買咱們買過的書時,經過先前存儲的「特殊購買行爲」向這些網友提供推薦的書。3d
整個圖中全部負責技術實現的人,均可以叫作數據人(Data Engineer);更精確的從 ETL 往右開始稱爲 BI 人;更細化些, 實現 ETL 的稱爲 ETL 工程師, Data Warehouse 的模型設計者稱爲數據模型工程師(Data Modeler ), 負責可視化設計的叫作 BI Reporter.
早期的 BI 實現僅靠數據倉庫。
實現數據倉庫,得提到 2 我的物,Inmon 和 Kimball. 兩人提出的數據倉庫理論基本奠基了咱們這個時代對數倉的理解。
(圖來自 Google,版權原做者全部)
kimball 的數據倉庫理論,傾向於大而統一的 Data Warehouse, 而 Inmon 則偏向專題性的 Data Mart, 主張將 Data Mart 中數據迴流給應用,促成業務進行。前面的推薦系統則是 Data Mart 的原型應用。
現代的 BI 實現就豐富多了:小數據的玩法,大數據的玩法,統計報表,即席查詢,分佈式計算,流式計算,推薦系統,知識圖譜,NLP,語音交互,模式識別。因此又添加了數據挖掘,數據科學家以及數據分析師,負責大數據技術實現的就叫大數據工程師了。
之因此切分了現代的 BI,主要也是數據爆發帶來的分佈式應用增多。
基於當前的 BI 技術在大數據背景煥發了第二春,實現架構也愈加複雜。我這裏選擇經常使用的 **Lamba Architecture **來主講。
2010 年先後,大數據開始隨着 Hadoop 進入人們的視野。這時數據倉庫技術還方興未艾,暫時尚未替換掉這種技術架構的打算,由於前期的投入和自己的價值繼續發揮着預熱。但新的數據需求不得不採起新的計算架構,因此不少公司採用了傳統數據倉庫技術以及以 Hadoop 爲基礎的分佈式架構並存的策略。大體以下:
(圖來自網絡,版權原做者全部)
粉紅色的部分屬於新興的數據處理技術(以 Hadoop, Spark, Hive, Kafka,Machine Learning 等爲主),綠色部分仍是常規的數據應用。
到了後現代 BI 架構中,隨着 Hadoop 等技術愈加成熟,慢慢替換掉了原來傳統的數據倉庫技術,所有使用了分佈式存儲和計算,就造成了 Lambda Architecture. 即部分數據沿用了 Batch 處理,而另外一部分數據用實時(Storm,Flink)和準實時(Spark)來處理,以完成對數據時效性的要求。
(圖摘自 Google, 版權原做者全部)
可見,數據的搬運工仍是 ETL, 我以爲這是一門長期熱門的職位, 若能架構整個數據應用,那就更好,這就是煊赫一時的 Data Architect (數據架構師).
人工智能
適當延展下,BI 中還會用到 AI 技術。亞馬遜購書一例中就是如此。下面出給 Gantner 2018 在人工智能技術方向的成熟度曲線:
像 Machine Learning, NLP, Intelligence Application 均可以用來服務 BI. 因此 BI 的外延愈來愈難以清晰劃分,愈來愈多職位都統稱爲 Data Engineer, Data Scientist 了.
一點我的見解,不喜勿噴,歡迎探討。