阿里創業員工分享公司的BI選型之路!自研、開源的坑都踩過

1、業務背景與需求梳理

年初盤年度計劃的時候計劃今年要上BI的,但疫情的緣由一拖再拖,也正好在那時候需求爆發,各類業務各類問題各類數據各類分析,意識到不上不行了,負荷扛不住啊,因而就開始立項,進行BI選型調研。前端

 

這裏把本身的調研筆記整理成文分享,僅表明我的觀點。java

公司如今的數據需求主要分爲兩類:mysql

  • 臨時需求:業務忽然想看看這波活動的效果怎樣,(數據指標的定義可能隨時改,隨時加)
  • 固化需求:每週要看,每個月要看的數據,(數據的定義已經很是明確)。

對於這兩類需求,咱們如今的處理方案是:sql

  • 對於臨時需求:寫HQL到Hive裏去查一遍,而後將結果轉爲excel發送給需求人員。
  • 對於固化需求:編寫腳本,結合Hive跑出結果,將結果寫入對應DB庫,而後經過第三方開源的BI工具進行彙總展示。

這樣作簡潔明瞭,但很明顯的問題:數據庫

  • 開發成本過高:每來一個需求,不論是臨時需求仍是長期需求,都須要進行定製開發,這種狀況下,咱們的人力深陷其中。
  • 使用不靈活:一個報表,只能進行展現,沒有分析功能,若是要進行分析,須要將數據複製到excel裏,利用excel進行處理分析,而咱們的數據使用人員不必定具有這種能力。
  • 資源浪費:不一樣人員開發的報表,不少狀況下存在不少重複計算。
  • 體驗吐槽:hue的查詢速度特別慢,作select from簡單的查詢,要等一分鐘以上(底層引擎tez太慢!!)

在這種狀況下,咱們準備構建其實就是選型一個多維分析平臺,讓業務方本身可以取數,並且最好不用SQL,由於咱們的業務方大部分不會SQL(儘管咱們已經開展SQL培訓,但仍是有必定門檻)。小程序

基於以上,咱們進行了BI選型的產品調研。restful

2、產品試用分析分析

基於你們討論瞭解以及幾個羣裏同行推薦比較多的BI工具,一輪篩選後,最後篩選出了下面幾個產品做爲重點調研對象:Superset、Metabase、FineBI。架構

一、Superset 

阿里創業員工分享公司的BI選型之路!自研、開源的坑都踩過

 

總體上,我的體驗下來,感受以下:併發

  • 安裝教程較爲蛋疼,和裝mysql同樣蛋疼
  • 只支持單表獲取,不支持錶鏈接計算速度取決於你的數據庫的速度
  • 可視化選擇很是豐富,基於經緯度的地理位置可視化方案有好幾套
  • 權限控制很是細,細到每一個功能鍵;
  • 惋惜最大的問題是對於業務分析師的用戶體驗不是很好,可視化流程是要對不一樣圖形方案作對應參數設置,權限控制也很是複雜。

各方面的具體狀況以下:運維

1)數據源與數據管理

  • 支持的數據庫很是豐富:Druid、Hive、Impala、Kylin、Spark SQL、BigQuery、Pinot、ClickHouse、Google Sheets、Greenplum、IBM Db二、MySQL、Oracle、PostgreSQL、Presto、Snowflake、SQLite、SQL Server、Teradata、Vertica、支持上傳本地CSV文件
  • 數據表模型的管理,可設置字段類型,維度/能否過濾/能否作時間列,二次加工字段,統計指標
  • chart可用的數據表得一個一個從數據庫裏添加(SQL工具箱能夠所有看到),不是很方便。
  • 深度支持durid

2)chart單圖&dashboard看板

  • 單圖製做流程:選擇數據源(表或視圖)->選擇圖表類型->設置圖表參數(指標/維度/過濾條件)。選擇數據源只能從數據表列表頁選擇,進到分析頁面後沒法更換數據源;因爲切換不一樣的圖表類型時就要按照不一樣圖從新填寫參數,在自助分析時用起來不大方便;
  • 支持的可視化圖形種類十分豐富,48種可視化方案;
  • 看板的過濾功能很是弱,連最基本的日期過濾組件沒有,經過單圖中的過濾器組件實現,只能針對單個數據表作出過濾組件,而後應用到看板上,此功能也很不方便。
  • 提供簡單的圖表鑽取探索功能(直接跳入到單圖裏面),但不支持圖表的聯動;
  • 看板不能直接複製克隆,要作複製一個看板只能從新編輯選擇單圖;
  • 看板支持自動刷新,刷新最小時間粒度爲10秒


3)SQL查詢

  • 支持關聯填補字段/表信息
  • 支持跨庫關聯查詢
  • 一個多選項卡環境,一次處理多個查詢
  • 查詢結果可視化,須要保存成視圖,再跳轉到chart頁面;且須要對該視圖作賦權(過程很是不方便)
  • 可對查詢歷史記錄作搜索;
  • 支持使用Jinja模板語言 進行模板化,該語言容許在SQL代碼中使用宏

4)權限管理

  • 經過對角色設置權限,用戶指定角色,實現權限的控制
  • 權限控制的粒度很是細,支持功能型的權限控制(表的修改可細分到刪除,新增操做),支持對菜單,數據源,數據表,字段,圖表,看板的權限控制
  • 權限的配置很是複雜,繁瑣
  • 不支持數據行級控制

5) 二次開發

  • 技術架構:Python+Flask+Recat+Redux+SQLAlchemy
  • 原屬Airbnb的開源項目,背後有大公司團隊支持維護,版本更新,bug修復,二次開發有較大保障
  • 支持restful API

二、Metabase (開源,gihub star 15,670)

阿里創業員工分享公司的BI選型之路!自研、開源的坑都踩過

 

總體上,我的體驗下來,亮點特點以下:

  • 交互體驗對業務人員很是友好。經過一個對看板和單圖作了一個全局搜索的功能,營造一種」ask a question「的智能場景,即經過搜索框諮詢,系統告訴你答案,且整個產品的界面很是簡潔明。
  • 製做單圖時很是簡單,以數據爲中心,去選擇不一樣的圖形(不可選的圖形自動打灰)。基本作到了半分鐘就能完成一個單圖的分析。
  • 但可是最大的不足是權限管理實在太弱,只有可修改/可見的粗粒度控制,對錶是否可刪除都無法單獨控制。

各方面的具體狀況以下:

1)數據源與數據管理

  • 支持的數據庫相對較弱:Postgres、MySQL、SQL Server、Redshift、SQLite、Google BigQuery、H二、Oracle、Vertica、Snowflake、MongoDB、Druid、Presto、SparkSQL
    (特別須要注意的是:其中Druid的版本爲2.0版本,因此不支持sql查詢,威力大打折扣;另外也不支持Hive,Kylin)
  • 統一的數據模型管理入口,添加數據表/視圖後,設置維度/度量字段(該部分作得很細,設定的類型作了很豐富的擴展)
  • 提供定時任務,數據庫同步(小時級別)
  • 自助的表字段信息透視功能,智能化探索,自動出看板,自動關聯數據的分佈(加分酷炫功能)
阿里創業員工分享公司的BI選型之路!自研、開源的坑都踩過

 

2)chart單圖&dashboard看板

  • 單圖製做流程很是簡單:選擇數據源->選擇過濾條件->選擇分析指標->選擇分組維度->選擇可視化類型
  • 支持的可視化圖形種類僅能知足基本需求,14種可視化方案(包含漏斗、帶變化的數字、地圖)
  • 對一些圖表可作細節控制,好比表單按條件控制行顏色,調整字段位置,顯示迷你彩條,先後綴設定
  • 支持基本的過濾條件,包含日期段(經過篩選器的字段與單圖中字段的關聯)
  • 提供簡單的圖表鑽取功能,但不支持圖表的聯動
  • 可一鍵複製已有看板
  • 自動刷新數據最小粒度到1分鐘
  • 分享上支持:公開連接,公開嵌入(博客網頁),在應用中嵌入
  • 使用Pulses按計劃發送數據給Slack(一個國外的聊天工具)或發送電子郵件

3)SQL查詢

  • 支持關聯填補字段/表信息
  • sql查詢結果可直接切換圖形展現方案
  • 不支持跨庫關聯查詢
  • 原生查詢中的變量容許使用篩選組件或URL參數來動態替換查詢中的值

4)權限管理

  • 經過對角色設置權限,用戶指定角色,實現權限的控制
  • 權限設置力度很是弱,只能設置是否可訪問權限(可訪問的數據可能直接被刪除)
  • 權限設置對象較淺:僅可對數據源,數據表,圖表,分析項目集合的權限控制,不到數據行級
  • 字段級的字段控制可設置可見不可見(敏感字段場景),但不能分角色管理

5)二次開發

  • 技術架構:Clojure+Recat+Redux
  • 提供了完整的API文檔,可憑藉豐富的API與文檔完成許多二次開發

三、FineBI(商業)

(此處已添加小程序,請到今日頭條客戶端查看)
  • 5分鐘完成數據分析,零代碼操做,點擊和拖拽完成分析,可半小時內做出數據報表。
  • 知足多樣的分析需求,數據處理,探索式OLAP分析,自助數據分析
  • 主打自助數據集功能,普通業務人員就能對數據作篩選、切割、排序、彙總等,自助靈活地達成指望的數據結果
  • 一鍵實現數據共享與管控,細緻精準的數據權限管控,數據和報告可在全公司內分享,分享結果實時更新
  • 支持超大數據量分析,採用先進的列式存儲,具有高效計算能力和強大的數據壓縮能力,支撐前端快速數據分析。
阿里創業員工分享公司的BI選型之路!自研、開源的坑都踩過

 

總體上,我的體驗下來,亮點特點以下:

  • 上手使用須要適應下流程,先配置數據,處理自助數據集,再是可視化儀表板和圖表,有點懵
  • 製做可視化很是簡單,交互有點相似Tableau,拖拽數據字段到維度框,立馬呈現可視化,而後再基於可視化組件構建儀表板
  • 有聯動鑽取功能大,也很智能,能自動關聯到共性字段
  • 數據處理功能很強大,自助數據集,能對數據處理的功能不少,包括分組彙總、修改數據字段、表合併等等
  • 最大的亮點,權限控制很是細且實用,能細分到原始數據源、處理後的數據集、儀表板,能對不一樣角色用戶管理,包括職位、部門等,有管理員和用戶等權限管控,有點OA的味道,算是這幾個裏面最強大的

各方面的具體狀況以下:

1)數據源與數據管理

  • 支持的數據庫很是豐富,下圖可見
  • 有個業務包功能,可以對不一樣的數據源作好分類,好比按部門或者按業務需求
  • 可對數據表進行可視化管理、數據預覽、血緣分析、關聯視圖等

2)chart單圖&dashboard看板

  • 可視化製做流程:鏈接數據源(數據庫或導入excel)——自助數據集處理數據——根據數據製做圖表組件——製做可視化儀表板。
  • 可視化圖表種類豐富,有50多種基本圖表,而後加上圖表間的重疊使用樣式設置能達到100多種樣式;
  • 有分組、交叉、明細3種表格類型,特別複雜的表格不支持,有另外的報表軟件finereport
  • 儀表板有時間、文本、數值、查詢等過濾組件,還有自定義條件過濾,過濾功能比較強大;
  • 提供數據鑽取、聯動、跳轉功能,能在儀表板直接互動,也能和其餘儀表板互動,支持圖表的聯動;
  • 組件、看板均可以直接複用,直接複製便可
  • 有豐富的函數功能,在作可視化時可對數據進行二次的過濾、彙總、排序、以及本身寫公式計算
  • 儀表板有定時刷新功能,能單個儀表板、多個儀表板板和單個組件的自動定時刷新,須要JS寫定時刷新頻率
  • 分享上支持儀表板公開連接,也可掛到它的決策系統中,也可嵌入到網頁
  • 儀表板直接分享、儀表板建立公共連接、掛出儀表板。
阿里創業員工分享公司的BI選型之路!自研、開源的坑都踩過

 

3)SQL查詢

經過 JDBC 的方式直接鏈接數據庫

  • 支持跨庫關聯查詢
  • 支持SQL數據集,容許寫SQL取數
  • 支持可視化的數據預覽,在業務包中添加並更新完成數據表之後,業務包編輯界面存在數據預覽區域,能夠查看已編輯成功的表數據。
  • 可視化關聯表和血緣分析
  • 提供實時數據和抽取數據兩種計算模式的 BI 工程

4)權限管理

  • 可經過角色設置權限,權限受體包括部門、角色、職務、用戶
  • 可對人員管理、目錄權限、管理系統、數據鏈接、數據權限(數據表)、分享權限、定時調度管理權限等設定權限,權限設置力度豐富
  • 權限設置對象較深,可細緻到組件仍是數據行級
阿里創業員工分享公司的BI選型之路!自研、開源的坑都踩過

 

5) 二次開發

  • 純java開發,基本是零代碼的工具
  • 支持必定的二次開發,有API文檔

總結

最後綜合選型來看,這次BI選型的選項落在Metabase和FineBI,前者開源,後者商業。

 

開源有其弊端,權限功能太弱,沒有平臺運維的功能,界面都是英文,咱們部門幾個開發用還行,但考慮到後面可能面向全公司推廣BI,選型上須要工具上手度能被業務方接受,且產品穩定性,須要技術和服務的保障。

 

橫豎都是要採購成熟平臺的,因此在預算可接受的範圍內更青睞後者,功能知足度達90%,具體性能還得等測試,價格大概在二十萬~幾十萬,看併發還有服務項目等。

相關文章
相關標籤/搜索