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