Metabaseを使用した経緯
BIツールを使わないといけない事情があったため、BIツールを調べました。
自身はBIツール初心者だったため、以下の理由でMetabaseを選定しました。
-
オープンソースかつDockerで動作し、評判が良かった
- 評判:環境構築が比較的簡単で、UIがシンプルで使いやすい
- 作成したい環境に近い構成のサンプルがあった
環境
今回は、Docker Composeを使用して以下の構成でサーバー環境を構築しました。
- DB
- API
- Metabase
MetabaseのデータはDBサーバーから取得します。
使った感想
良かった点
-
BIツール初心者でも使いやすい
- Dockerの知識があれば、簡単にMetabaseサーバーを構築できる
- サーバーを立ち上げた後、ブラウザでMetabaseのURLを開くと初期設定画面が表示され、管理者アカウントの設定→DBの接続設定を行うだけで利用可能
- デモデータとデモダッシュボードが用意されており、BIツールの機能やUXのイメージがつかみやすい
- グラフ作成がGUIで簡単にできる
- GUIで作成できないグラフも、SQLクエリを使って作成可能
悪かった点・大変だった点
UIの問題点
- 日本語訳が微妙(グラフ作成機能が「質問」となっている)
- グラフ作成時に、縦軸ラベルのテキストを縦並びにできない(横並びのテキストを90度回転しているだけ)
機能の問題点
-
コンテナを再構成するたびにMetabaseの初期設定が必要
- 毎回、Metabaseの初期設定画面でDB接続設定をしなければならない
- 複数のDBを接続すると、コンテナ再構成のたびに設定が必要で面倒
- Docker ComposeのMetabaseコンテナでDB接続を設定すれば解決する可能性がある
-
異なるDBのデータを統合して可視化できない
- DockerのDBサーバー上で複数のDBを作成している場合、Metabase単体では異なるDBのデータを統合したグラフを作成できない
- 解決策として、以下の方法が考えられる
- DBサーバー側で、あるDBが他のDBのデータにアクセスできるように設定し、SQLクエリでデータを取得してグラフを作成する
- 異なるDBのデータを統合する中間DBを作成し、Metabaseに接続する
その他
-
初心者向けの解説が少ない
- 解説を書いている人はBIツールに詳しい人が多く、BIについて初心者向けの情報が少ない
- グラフが思い通りに作れないとき、BIの知識不足なのかMetabaseの仕様によるものなのか判断しづらい
- 解説を書いている人はBIツールに詳しい人が多く、BIについて初心者向けの情報が少ない
まとめ
- Metabaseは、GUIで直感的にグラフを作成できるため、簡単にBIを構築したい場合や、BIツールに詳しくない人には非常に使いやすくおすすめできる
- ただし、異なるDBのデータを統合して可視化する機能はないため、そのような用途にはSuperset(GUIでグラフ作成可能)やRedash(SQLクエリベース)など、複数DBを統合できるBIツールの利用を検討するとよい
参考
- Metabase :https://www.metabase.com/docs/latest/index.html
- BIツールMetabaseの環境構築してみた :https://gmor-sys.com/2023/06/13/metabase/
- Metabaseが複数DBのデータ統合できない :https://www.metabase.com/docs/latest/index.html
- Superset :https://superset.apache.org/docs/databases/
- Redash :https://redash.io/help/data-sources