主流開源 BI 產品對比

現在市場上開源 BI 產品比較多,各個產品的側重點不同,有的以報表爲主、有的以可視化爲主、有的以查詢分析爲主。這裏我們選取了一些主流的開源 BI 產品,從產品功能、可視化能力、數據源支持以及使用文檔等方面進行對比,希望對你有幫助。

Superset

由Airbnb貢獻的輕量級BI產品,目前在GitHub上有3萬多顆星,其受歡迎程度可見一斑。Superset提供了Dashboard和多維分析兩大類功能,後者可以將製作的結果發佈到Dashboard上也可以單獨使用。

..

數據源方面,Superset支持CSV、MySQL、Oracle、Redshift、Drill、Hive、Impala、Elasticsearch等27種數據源,並深度支持Druid。

Superset語義層建模(被稱爲Table)時只能基於單表,多表關聯要事先邏輯化成視圖再使用,這點有點彆扭。在Table裏要顯示地將字段標記成可分組、可過濾,指定聚合方式(計數、求和等),頁面在使用時需要選擇Group by(並沒有叫做維度)、Metrics和Filter進行查詢。

..

Superset可以在多個時間維度上觀察,商業分析中的很多問題都是與時間密切相關的。Superset 有 4 種專門針對時間序列的圖表,使用這些圖表時,你需要指定一個字段爲時間維度,之後就可以對時間維度做豐富的操作。

Ø  從不同時間粒度去查看你關心的指標(小時/日/周/月/季度/年)

Ø  對時間序列做移動平均,比如看一個指標的 7 日平均線

Ø  可以對時間序列做偏移,再做對比,比如把本週的銷售業績與上週同期放在一張圖表中對比

Ø  不在圖表上顯示指標的絕對值,而是顯示它隨着時間變化的增長速度

Superset還提供了直接使用SQL查詢生成圖表的方式(SQL Lab)來強化臨時分析,方便數據分析師編寫SQL查詢數據。

Superset的可視化效果非常好,直接支持了幾十種圖形,從前面的截圖中可以看到可視化效果很棒。重要的是,它還提供了圖形擴展支持,通過開發插件還可以對接任意可視化庫,如ECharts、AntV、HighCharts、VX和D3,這點對用戶非常實用。

文檔方面,Superset表現比較糟糕,寫的過於簡單,雖然在安裝與快速入門方面提供了很完整的文檔,但在具體功能的介紹方面文檔嚴重缺失。就算有些功能有文檔,文檔的結構也很混亂,所以大部分功能只能自己去嘗試。

Superset作爲一個完整的BI系統,除了Dashboard和多維分析還包括調度和郵件報表,以及系統管理和權限控制等平臺管理功能。綜合來看,Superset作爲大廠開源的BI產品還是非常值得一用。

Grafana

GitHub 上的星星數比 Superset 還多,之所以把它放在第二個來說是因爲它的適用範圍跟大多數 BI 產品不太一樣,Grafana 主要用於對接時序數據庫,分析展示監控數據。目前支持的數據源包括 InfluxDB、Elasticsearch、Graphite、Prometheus 等,同時也支持 MySQL、MSSQL、PG 等關係數據庫。

每種數據源的查詢語言和功能明顯不同,Grafana 可以將來自多個數據源的數據組合到一個儀表板上,但每個面板都要綁定到屬於特定組織的特定數據源。

話不多說,上張效果圖感受一下可視化效果。

..

Grafana 爲不同數據源提供了不同的編輯器,這樣可以方便使用特定數據源的查詢語法,很牛叉。有時經常拿 Grafana 跟 Kibana 對比,在數據源種類和查詢支持上 Grafana 要豐富得多。

在可視化構建過程中,面板(Panel)是可視化基本模塊。每個面板都提供一個查詢編輯器(取決於面板中選擇的數據源),通過使用查詢編輯器,可以提取顯示在面板上的完美可視化效果。有各種各樣的樣式和格式選項,面板可以在儀表板上拖放和重新排列,也可以調整大小。

Dashboard 是 Grafana 可視化最終展現形式,Dashboard(或特定面板)可以通過多種方式輕鬆共享。可以向登錄的 Grafana 的人發送鏈接。可以使用快照功能將當前查看的所有數據編碼爲靜態和交互式 JSON 文檔。這比通過電子郵件發送屏幕截圖要好得多。

值得一提的是,Grafana 的文檔寫的很棒,除了很詳細外很多操作步驟都錄成 GIF 放到文檔中讓人一目瞭然。

在實際業務中,什麼情況下選擇 Superset,什麼情況下選擇 Grafana 呢?

時間序列,日誌與設備運行數據分析選 Grafana;企業生產經營數據分析則可以選 Superset。

Metabase

Metabase 目前在 GitHub 上受歡迎程度僅次於 Superset,Metabase 也是一個完整的 BI 平臺,但在設計理念上與 Superset 大不相同。Metabase 非常注重非技術人員(如產品經理、市場運營人員)在使用這個工具時的體驗,讓他們能自由地探索數據,回答自己的問題。而在 Superset 裏,非技術人員基本上只能看預先建好的 Dashboard,不懂 SQL 或是數據庫結構的他們,很難自己去摸索。

Metabase 採用“問問題”的方式實現一步步數據探索,探索的結果可以保存併發布爲 Dashboard。對於複雜問題還提供了 Native query 允許用戶編寫 SQL 或 native query。

..

數據源方面,Metabase 支持 Redshift、Druid、Google BigQuery、MongoDB、MySQL、PG 等 15 種數據源。

Metabase 社區版的文檔寫的簡單到讓你不知所措的地步,表現十分糟糕。好在這個產品使用起來不難(本身定位就是給業務用戶使用的)。

Redash

如果說 Superset 和 Metabase 是構建一個 BI 平臺,那 Redash 目標就是更純粹地做好數據查詢結果的可視化。Redash 支持很多種數據源,除了最常用的 SQL 數據庫,也支持 MongoDB, Elasticsearch, Google Spreadsheet 甚至是一個 JSON 文件。目前 Redash 支持超過 35 種 SQL 和 NoSQL 數據源。

..

它不需要像 Superset 那樣在創建圖表前先定義表和指標,而是可以非常直觀地將一個 SQL 查詢的結果可視化,這使得它上手很簡易。或者說 Redash 僅僅實現了 Superset 中 SQL Lab 的功能,但卻把這個功能做到了極致。

Redash 有兩個非常實用的功能,Query Snippet 與 Query Parameters。

Query Snippet 很好地解決了查詢片段的複用問題。做數據報表時經常要用到十分複雜的 SQL 語句,這些語句中肯定有一些片段是可以在多個查詢中複用的。在 Redash 中我們可以將這些片段定義成 Snippet,之後方便地複用。

Query Parameters 可以爲查詢添加可定製參數,讓這個圖表變得更靈活。比如一個移動應用的日活指標,我可能有時要按 iOS/Android 切分,有時要按地域切分,或是按新老用戶切分。在 Superset 的 Dashboard 上要做三個表圖。Redash 裏我可以把查詢的 groupby 做爲一個參數,這樣就可以在一張圖上搞定。用的時候,運營人員可以在圖表上方的一個下拉框裏選擇切分的方式,非常直觀好用。

Redash 的 Dashboard 可以通過命名來進行分組,Dashboard 的名字可以有一個前綴並以冒號結尾,前綴相同的 Dashboard 就會自動被分爲一組。例如“ Growth: Daily ”,“ Growth: Weekly ”這兩個 Dashboard 都會被分到“ Growth ”組下。

Redash 在文檔方面做得很好,除了快速入門教程以外,每一個功能模塊都有文檔且條理清晰。

當然 Redash 也有自己的不足之處,它的可視化種類比 Superset 遜色不少(不過其實也夠用了)。另外,由於它只是純粹地把數據查詢結果可視化,所以也沒有 Superset 裏那些對時間維度上的聚合與對比的操作。

CBoard

國內由楚果主導的開源 BI 產品,分社區版和商業版。CBoard 提供了一個 BI 系統,包括 Dashboard、多維分析、任務調度等方面。

..

數據源方面支持 JDBC 數據源、ElasticSearch、文本文件(文本需要存放於 CBoard 應用服務器上面,讀取本地文件)、Saiku2.x 等。

圖形方面直接使用了 ECharts,多維分析和 Dashboard 功能中規中矩,可以滿足大部分 BI 需求。

文檔方面由於是國內開源的產品,中文文檔對國內用戶友好,但文檔質量一般在使用過程中還需要不斷摸索。

值得注意的是,CBoard 社區版和商業版功能差異較大,社區版有很多功能都不支持,使用前要認真評估。

BIRT

與前面提到的幾個 BI 產品注重數據探索和可視化不同,BIRT 主要用於報表的開發與呈現,在可視化效果方面表現並不出彩,也不包含多維分析。

BIRT 是一個 Eclipse-based 開放源代碼報表工具。BIRT 主要由兩部分組成,一個是基於 Eclipse 的報表設計器和一個可以加到你應用服務的運行期組件。

..

BIRT 報表引擎以 JAR 文件方式打包,可以方便的添加到 J2EE 應用中。採用 Taglib 方式很容易在 JSP 頁面上集成報表。

BIRT 的文檔寫的很差,可能跟產品誕生年代久遠有關,目前社區也不太活躍,好在網上還可以查到很多資料。

如果你的需求是開發常規報表,那麼 BIRT 絕對是一款可以嘗試的工具。與 BIRT 類似的還有一款 JasperReports 工具,功能方面大同小異。

潤乾報表

潤乾報表是國內爲數不多開源 BI 產品,雖然產品名稱以報表命名,但實際已包含所有 BI 功能。從功能上來看,潤乾報表可以約等於 Superset+BIRT,也就是提供了多維分析、Dashboard 和報表以及平臺管理功能。

數據源方面,潤乾報表除支持 MySQL、Oracle 等傳統 RDBMS 外,還支持 MongoDB、Elasticsearch、Redis、Spark 以及 HDFS 等數據源。同時還可以直接使用 Excel、CSV、JSON 進行報表開發和數據分析。

在可視化方面,潤乾報表表現並不十分顯著,產品內置的 30 多種圖形中規中矩。如果想使用效果更好的可視化圖庫可以通過潤乾報表提供的第三方圖形接口實現,引入圖庫文件後修改 JS 用於接收數據集數據即可完成。這跟 Superset 等擴展可視化圖庫的方式不太一樣,沒有繁瑣的插件開發過程,簡單方便。

..

潤乾報表提供的多維分析功能與 Superset 類似,通過在頁面上拖拽維度和指標進行數據查詢,同時可以進行切片和旋轉等操作。潤乾報表允許用戶直接基於文件分析,也可以編寫 SQL 進行數據查詢生成圖表,同時爲了保證性能還可以使用自有的私有存儲格式。

在語義層建模中,潤乾報表支持多表關聯(JOIN)。特別地,在潤乾報表中需要將維度顯示制定成一個表,如果沒有對應的表則需要建立虛擬表,這樣做的好處是前端查詢分析界面可以很方便地實現多表實時關聯查詢,而不必每次都必須基於一個(物理或邏輯)寬表。

..

可以通過多維分析拖拽圖表來組織 Dashboard,根據指定(或自定義)佈局生成,同時可以使用全局參數進行數據過濾分析。

..

潤乾報表的另外一個優勢是複雜報表的處理能力

我們知道,國內的報表具備很強的本土特徵,潤乾報表最初是爲實現複雜報表而設計的報表工具,是目前主流產品(含商業)中做的最早也是實現得最好的一個。

..

在這方面,無論使用上面提到的任意一款工具都無法很好滿足。

潤乾報表的定位跟 Redash 很像,都希望提供便捷的方式讓用戶迅速得到分析結果。同時也提供了一個輕量級的管理平臺(報表中心)包括資源管理、權限控制以及郵件訂閱等功能。

潤乾報表提供了 BI 平臺的同時也支持按模塊集成,可以將產品中各個模塊根據需要單獨集成到已有的項目中,這對已有平臺系統的用戶非常方便。

需要注意的是,潤乾報表並非所有功能都開源,目前開源的部分包括:多維分析前端界面、報表中心和 Dashboard。如果需要使用基礎報表、多維分析服務器等部分則需要付費,不過價格並不高。

總結

最後做一下總結,拉個表格方便對比。

產品 \ 指標 定位 數據源支持程度 可視化能力 文檔質量 社區活躍度 什麼場景下選擇該產品
Superset BI 平臺 豐富 很好 注重可視化效果
Grafana BI 平臺 一般 監控與日誌分析
Metabase BI 平臺 一般 很差 業務人員探索數據
Redash BI 平臺 豐富 快速數據查詢與可視化
BIRT 報表工具 一般 很差 簡單報表需求
CBoard BI 平臺 一般 一般 一般 常規 BI 需求
潤乾報表 BI 平臺 / 可集成組件 豐富 複雜報表 / 快速數據查詢分析

國內 BI 項目以企業級應用解決方案爲主,其需求重點落在多維分析式的自助報表、Dashboard 以及一些相關平臺管理功能,對於多步驟探索式分析需求相對較少(這部分功能一般由桌面 BI 解決)。從這個角度上看,作爲國內產品的潤乾報表,對這些需求的適應性要更好,除了具備常規 BI 該有功能外,還可以處理本土的複雜報表,在選擇開源 BI 的時候不妨一試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章