上一篇《企業級BI為什麼這麼難做?》,談到了企業級BI專案所具有的特殊背景,以及在“破局”方面的一點思考,其中談論的焦點主要是在IT開發專案組外部。本篇會再談一談在開發專案組內部,應該如何選擇企業級BI的實施方案:是自主研發還是採購商業BI產品?
(寫在前面的話:如果你所在的企業預算非常充足,並且處於BI專案的初創期,那麼這個問題不存在,後文可以直接略過,以節省大家寶貴的時間。)
接下來會分別從商業BI產品的系統架構和自研技術方案進行介紹與對比。
/請尊重作者勞動成果,轉載請標明原文連結:/
/* https://www.cnblogs.com/jpcflyer/p/15685268.html
一、主流商業BI產品方案介紹
近幾年國內BI發展如火如荼,已經有不少相對成熟BI產品,這裡僅舉例介紹幾個,供參考。
-
FineBI
帆軟的FineBI的核心功能架構如下圖所示,主要包括Spider引擎和上層自助分析功能兩部分。
其中Spider引擎是核心,也應該是FineBI的核心競爭所在吧,所以這裡要重點研究一下。Spider能夠支援抽取模式,也能支援直連模式,這也是目前成熟BI都應具備的基礎功能。對於抽取模式,Spider的技術架構如下圖所示。
可以看出帆軟的抽取模式中,底層使用了大資料的相關技術:持久化儲存用HDFS,計算引擎使用spark,快取加速使用了Alluxio......細節描述本篇不再展開。除了FineBI,帆軟公司還有FineReport產品支援傳統固定報表及複雜報表的製作、簡道雲產品支援輕應用等。
-
永洪BI
關於永洪BI的技術資料不多,更多的是聯合企業共創的解決方案,正面訊息居多,說明永洪BI的公關與宣傳工作做的十分到位。下面是能找到的官方認可的最偏技術的架構圖了。
當然這個圖描述的都是各BI產品共性的東西,看不出來有什麼亮點(保密工作做的挺好),大家就將就著看一下吧。
-
Smartbi
主要包含三個產品:Smartbi Insight(中國式傳統報表)、Smartbi Eagle(自助分析平臺)、Smartbi Mining(資料探勘平臺)。
Insight和Eagle產品主要是藉助excel實現報表計算與自助分析,Mining的架構圖如下:
-
觀遠guandata
觀遠也是最近比較火的商業BI工具,其技術架構如下圖所示。和帆軟差不多,也具有直連和抽取兩種模式,均基於spark計算,快取用的是Cassandra。和帆軟不同的是,為加速查詢,觀遠嘗試引入了Clickhouse,並且增加了AI方面的功能。
5、BI商業產品對比
從附錄1文章中引一張對比圖如下所示,綜合來看,帆軟和觀遠處於行業第一梯隊(該圖僅代表源文作者觀點,供學習交流使用)。
二、自研技術方案介紹
一般企業級BI從系統架構角度可分為資料儲存層、計算加工層、BI展現層等。企業內部基本都會有資料倉儲、資料湖等企業級資料儲存歸檔庫,也有spark、clickhouse等計算引擎,所以本篇假設企業的資料底座能力已比較完善,已經具備BI工具所需要的儲存與計算能力。後面重點說下BI展現層的實現方案。
建議選擇在開源BI框架的基礎上,按企業需求進行定製化開發。目前開源BI框架有Superset、Redash、Metabase,以及最近越來越紅火的Davinci等。
-
Superset
Superset採用技術棧為 Python + Flask + React + Redux + SQLAlchemy ,支援多種資料來源和圖表型別,在Davinci出現之前,Superset的評價最高,stars數量也是最多的。
-
Redash
Redash採用技術棧為 Python + Flask + AngularJS + SQLAlchemy ,需要手寫SQL,對業務人員不太友好,支援資料來源較Superset略少。
-
Metabase
Metabase採用技術棧為 Clojure + React + Redux ,是頁面佈局和體驗最好的,適合業務人員使用,但支援資料來源少。
下圖為Superset、Redash和Metabase的詳細對比圖(圖片來源參考附錄2)。
-
Davince
Davinci是宜信在2017年開源的視覺化分析工具,面向業務人員/資料工程師/資料分析師/資料科學家,致力於提供一站式資料視覺化解決方案 。其架構如下圖所示。
相關概念及設計理念可以參考官網https://edp963.github.io/davinci/。對於金融行業來說,選擇基於宜信的Davinci進行定製化開發還是比較合適的。(最近有核心成員離開成立了datart專案,對datart感興趣的可以自行github)。
以上均為敏捷BI開源框架,可能需要做大量的定製化開發工作才能滿足企業內部BI使用者的需求,需要提前做好開發資源方面的準備。
三、採購商業BI產品與自研方案對比
1、自研
自研的優勢在於可以自主進行定製化開發,能夠更好的滿足使用者的需求。
缺點在於對產品經理、技術團隊的能力要求比較高,需要非常專業的產品+開發團隊,同時由於開發過程中的細節比較多、坑也多,所以在時間、人力資源有限的情況下,專案可能存在實施方面的風險。
另外從0開始建設企業級BI,在產品功能和使用者體驗方面可能永遠追不上專業BI公司的腳步,永遠在步別人的後塵,因為商業BI公司都是在市場上摸爬滾打多年、經過時間檢驗的,所以時間久了,業務滿意度可能會持續降低,轉而偏向於引入商業BI公司的產品。
2、採購
採購的優勢在於能夠快速引入產品部署,及時響應業務在BI方面的共性需求,使用者體驗也會不錯。
缺點在於產品的定製化成本比較高,需要有足夠的預算支援,在商務方面,也要考慮產品升級、運維等的合作模式。
四、總結
方案 | 優勢 | 不足 |
---|---|---|
自主研發,基於開源敏捷BI框架或從0開始搭建企業級BI | 1、可按需滿足企業內部資料分析場景2、成本相對偏低 | 1、實施週期長,難以快速釋放業務價值2、需要一隻非常專業的開發團隊3、使用者需求場景多,產品設計和功能實現存在難度,對產品經理和開發團隊有較高的專業要求 |
採購產品,採購新的BI產品作為企業級BI體系 | 1、快速部署,能夠快速釋放價值2、業務能夠一起參與選型,引入外部先進經驗3、功能細節比較完善,專案實施風險小 | 1、定製化開發成本高,難以滿足企業內部特殊業務分析場景2、產品與廠商繫結,運維升級需要商務談判 |
各企業的情況不同,需結合預算、開發資源、上線時間等方面綜合考慮決策,部分企業還會涉及到存量BI系統的資料遷移、與企業內部系統進行定製化對接等等內容,所以需要企業因地制宜,自行設計企業級BI方案。當然如果在設計過程中有什麼問題,也可以隨時與我溝通交流,希望本篇對您所在企業的BI建設能有幫助,也祝各位的企業級BI越來越好。
參考資料: