启动metabase_引入开源BI软件Metabase——数据分析平台建设(一)
什么是Metabase
在選擇使用Metabase之前,也調研過許多BI軟件,滿足免費開源,靈活多變,我們選擇了Metabase。
Metabase是一款開源免費的BI軟件,適用于中小型企業、初創公司,用最少的投入,使用數據驅動,為公司帶來更多價值。
Metabase基于一種Clojure的Lisp方言編寫,運行起來是個Tomcat。支持多種數據源,例如常見的MySQL、PostgreSQL,以及類似Redshift這樣的數據倉庫。
Metabase基礎架構
Metabase的架構如下圖所示,自身需要一個存儲自身數據以及Schema數據的數據庫,另一側則是需要連接我們自身的數據倉庫。Metabase本身也支持多種數據庫存儲自身數據。
Metabase本身對配置要求并不高,使用一個2核4G的云主機就能跑起來了,但是在導出大數據量Excel的時候,CPU就比較吃緊了。
安裝和初始化使用
安裝是非常簡單的,我們使用Docker進行安裝,非常方便升級。 默認情況下,使用的是一種類似SQLite的數據庫,名為H2,我們需要改成自己的PostgreSQL數據庫,下面是我的docker-compose.yml文件:
version: '3' services:metabase:image: metabase/metabaserestart: alwaysenvironment:MB_DB_TYPE: 'postgres'MB_DB_DBNAME: 'metabase'MB_DB_PORT: '5678'MB_DB_USER: 'metabase'MB_DB_PASS: '*******'MB_DB_HOST: '192.168.1.1'JAVA_TOOL_OPTIONS: '-Xmx2g'# 下面是配置時區JAVA_TIMEZONE: 'Asia/Shanghai'ports:- "3000:3000"直接使用docker-compose up -d就可以啟動了。
打開3000端口,就能看見我們的metabase了。
點擊Let's get Started就可以開始配置了。(建議使用英文版,中文翻譯實在是不咋樣)
一路下一步,按照提示配置好,就可以了
進入之后,可以看到示例數據了。隨便點一點,可以看到相關的圖表。下面介紹Metabase的概念。
Metabase基本概念
Metabase中最基本的概念是Question,任何一個簡單結果集,都可以看成是一個Question,而數個Question可以放到一個組里面,稱之為Collection,而Dashboard也是位于Collection當中。
1. Question
對于Metabase ,有三種Question類型:
- Simple Query
- Custom Query
- Native Query
其中前兩種,我個人感覺差別不大,僅僅是UI不同,有些許變化,都是可以互相轉換的,點擊右上角即可轉換,都是通過圖形化界面創建查詢圖表,其中主要需要選擇查詢的指標和Group By的參數,或者是Join的圖表。而Native Query是指數據庫查詢,可以通過數據庫查詢創建圖表。
2. Collection和Dashboard
創建好查詢可以將Question保存,存入Collection并在Dashboard中引用。其中Dashboard僅支持五分鐘的自動刷新粒度,作為實時報表,還是有些難度的。
一波三折
BI上線的過程也是一波三折,我想也是很多和我一樣剛接觸BI的人一樣,對整個過程沒有一個概念,下面我要分享的是我們在建設BI系統中遇見的種種問題。
1. 團隊協作問題
數據有了以后,我們應該如何進行團隊協作?數據看板應該由哪一方進行配置?
大部分小伙伴第一次咨詢我Metabase問題的時候,都是想讓業務部門自生自滅,作為基礎設施支持,只需要將數據源和BI軟件搞好就好了。其實這樣的想法是極度錯誤的。如果業務部門沒有專門的數據分析師,即使引入了BI軟件,業務部門也只能是干瞪眼。所以在這里,我們選擇的是,研發部門在前期配合數據分析師(如果沒有數據分析師,則要求研發來執行),根據業務需求,完成看板配置。同時應該考慮為業務部門招聘專門的數據分析師,能夠完成業務部門數據提取操作,從而提升靈活性。關于數據分析師的問題,我在后續的文章里面會討論。
2. 數據倉庫性能問題
我們將生產數據庫中的訂單數據導入至數據倉庫所在數據庫,當時選型是用了一個PostgreSQL做數據庫。萬萬沒想到,在接入數據庫后,數據庫無法承受壓力,CPU直接跑滿,長時間無法平穩運行,最終花大價錢切換成阿里云ADB for PG解決。
3. Metabase自身限制
免費版本Metabase有一些限制,比如導出只能接受一百萬行以內的,這個時候就需要一些取舍,過于復雜的,可以要求業務部門提工單解決,雖然依然需要做一些操作,但是無需再為每次導出重新編寫SQL,減少了業務流程。
總結
Metabase作為一款免費開源軟件,還是非常棒的選擇。而真正引入BI系統,也很難一步到位的將研發和業務部門之間劃清職責范圍,需要一步一步地將復雜工作標準、流程化,最終實現解放生產力的終極目標。
總結
以上是生活随笔為你收集整理的启动metabase_引入开源BI软件Metabase——数据分析平台建设(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二分法求数组最大最小_js-求数组的最大
- 下一篇: centos8安装mysql_CentO