開源 BI 工具 Metabase 簡介
Metabase is the easy, open source way for everyone in your company to ask questions and learn from data.
這是 Metabase 官網上的介紹。BI 工具其實非常多,但卻沒有一種適合所有場景,各種產品的定位也各不相同。個人覺得 Metabase 相對于其他 BI 產品具有以下特性:
不懂 SQL 也可以很快掌握業務數據
一般來說,BI 產品的用戶都是業務人員(大部分不懂 SQL ),Metabase 把數據分析常用的查詢通過通過一個易于操作的界面來操作,這樣,不懂 SQL 的業務人員也可以快速掌握業務數據。 下面舉個簡單的例子來看一下,如果銷售人員想知道每月的訂單數量該如何操作:

不懂 SQL 也可以很快掌握業務數據
只需要點幾下,就可以得出一個直觀的可視化結果,當然,除了折線圖之外,還可以選擇餅圖、柱狀圖、表格等。對于查詢的結果,可以導出到 CSV。
看到這里,一定會有同學發現,這種單表查詢統計太簡單,真實情況的業務分析可能需要 JOIN 幾張表或使用一些 SQL function 才能得到結果。然而,對于熟悉 SQL 的業務或開發人員,也可以通過 SQL 來獲得業務數據,如圖:

使用 SQL 獲得復雜的業務數據
業務數據與團隊共享
上面這些業務數據都可以保存并且分享給團隊里其他成員。除此之外,團隊中開發人員也可以把復雜的查詢寫好,把結果共享給業務人員。這是團隊共享業務數據的應用場景。

團隊共享業務數據
開源、部署方便
Metabase 支持多種數據源,包括MySQL、Postgresql 和 H2,看 Roadmap 即將支持的是 Redshift。
部署 Metabase 同樣非常簡單,在 Mac 上下載之后點擊即用,其他平臺也只需運行一個 jar 包而已。同時支持的部署環境是:
- Heroku
- Amazon Web Service
- Docker
與 ChartIO 的對比

ChartIO 支持各種數據源,通過拖拽方式來獲取業務數據,并生成圖表,從這方面講,ChartIO 和 Metabase 的定位是相同的。不過 ChartIO是一個 收費的 SaaS 服務,而 Metabase 是開源免費的軟件程序,他們之間的關系有點像 Github 和 Gitlab,不過從目前的狀況看,ChartIO 成熟度要優于 Metbase 很多。
與 ETL 結合
雖說 Metabase 可以讓不懂 SQL 的業務人員輕松分析業務數據。但由于 OLTP 數據庫的結構本身是不利于業務分析的,更不要說數據量大的情況,OLTP 數據庫 JOIN 幾張表之后的查詢效率更讓人難以接受。
一個擬補的方案是,開發人員只需要做一些簡單的 ETL 操作,把 OLTP 庫先轉化為適合分析的 星型模型 。
對于業務分析方面還沒有任何基礎的公司來說,Metabase 也許是一個不錯的開始。