1718
1590

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OSSのデータ可視化ツール「Metabase」が超使いやすい

Last updated at Posted at 2017-10-14

Metabase、まじでイケてる。

1日で、Re:Dashから乗り換えました。

Metabaseとは

OSSのデータ可視化ツール。Re:Dashとかと同じ類。
AWSとかに乗せて、誰もが見れるダッシュボードを作ったりする時に使うと、俺かっけーってなります。

スクリーンショット

実際に社内で運用している様子をモザイク付きでお見せします。

毎日みているダッシュボード。これの4倍くらいの数値見てる。

image.png

ダッシュボードの編集。マウスで簡単に位置や大きさの変更ができる。

image.png

クエリビルダー的なやつがあり、グルーピングとか超絶便利。SQL書けない人でも、単一テーブルとかだったら余裕かと。

image.png

グラフ化も簡単。

image.png

SQLでのクエリ編集画面。ちゃんと補完してくれる。

image.png

Metabaseの良い所

  • 見た目が格好いい。
  • インストールが簡単。
    • openjdk-8-jdk入れて、jarファイル置くだけ。
  • 豊富なデータソースに対応。MySQL・PostgreSQL・GoogleAnalytics・BigQueryなど。
  • 結果を直感的にいい感じに可視化してくれ、グラフ種類が豊富。
    • 時系列
    • パイチャート
    • バブルプロット
    • 単一の数値
  • 結果のダッシュボード化も超直感的。
  • SQLの補完が親切で書きやすい。
    • カラム名のFuzzy Matchingまでやってくれる
  • Slack連携、ユーザー追加も超簡単。
  • ユーザーごとの権限を細かく設定できる
  • 管理が楽
    • クライアント側で必要なのはブラウザだけ。(Re:Dashもそうだけど)
    • ユーザー追加が楽。勝手にパスワード発行してくれる。
    • ユーザーごとにできることの制限も簡単にできる。
    • Googleアカウントでのログイン、LDAP認証にも対応しているので、そこそこの規模の会社でも実用的
  • 開発が活発
    • サーバーサイドがClojureっていうのも格好いい。
      - Pythonから移行したらしい。Why we picked Clojure
    • フロントエンドはAngularからReactに移行した。そしてサクサク動く。

Metabaseに足りないところ

  • Slack通知(Pulseという機能)で、マルチバイト文字が使えない。
  • たまに、長い間SQLを書いていると補完が変な挙動することがある。画面更新したら治る。
    • 画面更新しても、書きかけのSQLは消えないところもイケてる。
  • 現時点では多言語対応していない。エンジニアだけの環境なら全く問題ないが。 多言語対応した。

その他OSSのBIツール比較

全部試した。

  • Re:Dash
    • OSS版だとダッシュボードや図が寂しい。
    • Metabaseとできることは似ているが、「使いやすさ」が圧倒的に違う。レスポンシブなダッシュボード、SQL自動補完、グラフ化のオプションなど
  • Superset
    • デモのデータを可視化するのは非常に良かったが、実際のデータを入れるのが難しかった。
    • Read OnlyなDBには使えない。
  • Kibana ・Grafana @mashihara さんのご指摘 の通り、 graphana は色々なソースに対応している
    • ダッシュボードがめっちゃかっこいいんだけど、DBがKVSやElasticsearch前提
    • MySQLに入ってるデータをSQLで取ってきて見たいんだよなーみたいな時に、いやまずRDBのスキーマをElasticsearchのインデックスにマッピングして同期しないと。
    • Elasticsearchのクエリを覚えるのが、学習コスト高い。

参考

日本語の記事が2017/11/04時点で少ないのはなんでだろう。

結論

Metabase最強。

インストール

Ubuntu 16.04 ならこんな感じ。

sudo add-apt-repository 'ppa:openjdk-r/ppa'
sudo apt update
sudo apt install openjdk-8-jdk
sudo mkdir /opt/metabase
wget http://downloads.metabase.com/v0.27.1/metabase.jar -O /opt/metabase/metabase.jar
java -jar /opt/metabase/metabase.jar

デーモン化したいなら nohup java -jar /opt/metabase/metabase.jar & でいける。

[追記]

何度かインストールする機会があったので、環境構築をAnsibleで自動化しました。

Metabaseのインストールの他に、下記をやってくれます。

  • 設定をMySQLに入れる(デフォルトはH2を使うのでバックアップなど面倒)
  • Systemdでデーモン化

[/追記]

Dockerならコマンド一発。

docker run -d -p 3000:3000 --name metabase metabase/metabase

追記

好きすぎて、日本語ローカライズのプロジェクトに参加することにしました。これも完成したら敵無しか。

さらに追記

最近、 Redash の Version 5 をアップグレードする機会があり、こちらもけっこう便利そうでした。
UI が今っぽくなっていたり、クエリをテーブルのように使う機能が追加されていたりします。

内部的には、 SQLite 使ってテーブルのように問い合わせることができてます。 Google Spreadsheets との連携がすごかった。

アップグレードには苦労しましたがw

Python のマイグレーションに失敗して、ソースコード読んで手動で設定する必要がありました。いつか記事にしたい。

さらにさらに追記

Metabase 0.30.4 にアップグレードしたら、セットアップしてからワンクリックでこんな画面になった・・・いけすぎててやばい。

image.png

1718
1590
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1718
1590

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?