Metabase解説
OSS データ可視化ツール
必要最低限
軽量に動く、優れたUI・UXのBIツール
https://gyazo.com/886561abdef59013a68fdf2218895465
https://www.metabase.com/
OSSのデータ可視化ツール「Metabase」が超使いやすい - Qiita
「1日で、Re:Dashから乗り換えました。」
オープンソースのデータベース解析ツール「Metabase」が期待できそう
「企業内のすべての人がデータから学ぶための簡単な方法」
ユーザー機能
アクティビティ機能
全員の動きが追えるトップ画面
https://gyazo.com/870d7d6c10e9fb40f314076cf9847515
ダッシュボード
要件毎に複数作成可能
https://gyazo.com/cc20bec31b357305917dc727e1c3c6c1
編集も楽。大きさや配置も自由
編集ボタンを押さない限り、不用意に位置がズレたりしない
Saveボタンを押さない限り、不用意に保存されない
https://gyazo.com/89f26dbe08188c6b455ee3ca68e18de2
フィルター機能
カテゴリを選択してフィルタリング
期間を指定してのフィルタリング
https://gyazo.com/9a44ec759faea2994dc69324587ca0a4
https://gyazo.com/127bf7add42e3fe9aa33e10b8b15e9db
クエスチョン
ダッシュボードに配置するグラフやテキストやデータ
データ取得元を選んで、表示形式を選ぶだけ
CSVダウンロード可能
https://gyazo.com/b8f6a7e587805bee7893d9c2275401d3
SQLを使えなくても作成可能
もちろんSQLや過去に作ったデータからの複製・編集も可能
https://gyazo.com/607f7c76003d9ba747728845771f7b33
クエスチョン毎の編集履歴もあり!
https://gyazo.com/e99ee8d3cf2e68f1356b8c374fd3f677
連携通知
Slackやメールに通知可能
https://gyazo.com/cb78527ee41d77999a6c0c2af749c745
リンク機能
自分が見ているページへのリンクをワンボタンで取得可能
https://gyazo.com/db47c85ccca99dbdadf11ef076baa530
管理者機能
アドミンパネル
ユーザー毎に細かい権限を与えたり、連携先を編集可能
https://gyazo.com/0d21d830ee7fb7c6db5c04e3c00034d7
ユーザ認証はGoogleアカウントを利用可能!(スクラップボックスと同じ)
https://gyazo.com/1362d238846fb3202537ce3259404fef
ユーザ・グループ毎の細かい権限や
https://gyazo.com/a7cca35ad0eb101efbe8d0f3ab966a92
テーブルや、各カラムに「利用可否」設定も可能
https://gyazo.com/4de662bd64240fcb79be07a79bafef1c
複数のデータソースを追加可能で、Mysql、Googleアナリティクス、BigQuery、RedShift、postgresにも対応
https://gyazo.com/3d2ff5e00360b0aeda7ba8b6497e7038
データの表示と、「SQLを書いて良いか」のパーミッション付与も可能
https://gyazo.com/60b492c747a7bdc924983b713c2405ce
Redashとの違い
構築前に気がついたこと。
metabaseはクエリの編集履歴がある!これは良い
metabaseアクティビティ、管理者じゃなくても誰が何をしているか分かるのは良い!
redashはMysql SSL mode対応、SSH tunnel非対応
metabaseはMysql SSL mode非対応、SSH tunnel対応
利用できるデータソースはredashの方が多い。(自社で使っているデータソースはmetabaseでも全て対応)
ダッシュボードのレイアウト自由度はmetabaseの方が高い。
redashは1カラムor2カラム。辛い
redashは社内で採用実績がある。
redash構築をしてから気がついたこと。
圧倒的な操作感の違い。metabaseはストレスフリー
redashはレスポンスが遅い、ボタンを押してから0.5秒ほどのモサっと感が続く。(ローカルでもEC2インスタンスでも)
インスタンスサイズをmicroからsmallに変更することで快適になった。
ダッシュボードの「グラフタイトル」がredashは小さい、気がつかない!
Query名が大きく出る。Queryをグラフ毎に作らないと分かりにくくなる・・・。
redashのグラフ削除が分かりづらい。
redash、metabase共にアーカイブという機能で実現
metabaseにはアーカイブからクエリを戻す機能があるが、redashは管理者のみっぽい・・・?
redashは「パブリッシュ」機能がある。これはグラフを作った後、自分だけがそのグラフを見れる機能。
metabaseは問答無用で一覧に表示
redashのグラフ、余計なボタンが多過ぎて見辛い・・・。
マウスオーバーで12個もボタンが出てくる・・・。
redashはダッシュボードにクエリ追加する時、一覧で表示されない!入力窓にクエリ名を入力する必要がある
補完は聞くけどちょっと面倒。。
metabaseとredashはクエリキャッシュが微妙に違う。
基本的にredashは全てキャッシュ。
metabaseは指定秒数より重いクエリを、クエリにかかった秒数に比例してキャッシュする
どちらもキャッシュを使わないことは可能
metabaseは自動推察機能がある!Googleスプレッドシートの「数値分析グラフ」に近い。カラム毎に最大値や、前週・前月毎の推移を推察して出してくれるAIのような機能がある。これは思ったより面白くて良かった。
https://www.metabase.com/docs/latest/users-guide/14-x-rays.html
ただ本当に大規模な生データ、かつカラムをデータ型に沿って作成していないとしっかりと推察してくれない。自社テーブルでは実用はほぼ無理
metabaseはスラックBOTが初期である!コマンドも凝っていて、「MetaBot show **」でグラフカードを表示してくれる。自動的に毎朝呟かせたり、自分のプライベートチャンネルだけで言わせたりも可能。
https://www.metabase.com/docs/latest/users-guide/11-metabot.html
metabaseはクエリのカテゴライズ機能がある!フォルダ分けできる!
redashは全てのクエリ or 自分のクエリ
RedashはそのままだとGoogle Analyticsのデータを読み込めない
ReDashのGA読み込み形式はGCPサービスアカウントのJsonKeyFileのみ対応
metabaseのGA読み込み形式はGCPクライアントIDの秘密鍵・公開鍵入力のみ対応
どちらも本質的には同じものだが、サービスアカウントは新規に作る「子ユーザ」、クライアントIDは「ログインユーザの権限利用」のような違いがある。
そのため、サービスアカウントの場合は作ったアカウントをGAのView閲覧可能ユーザに追加する必要がある。
metabaseの辛いところ
クエリの使い回しが出来ない
ReDashは一つのクエリから複数のグラフを作成出来る。
Metabaseも似たようなことは出来るが一部セグメントが使えなくなったり、フィルター機能の対象外となったりと、使えないと言って良い。
数値区切り「000,000,000」のコンマが出ないバグが発生することがある。
SQLを使わないクエリで発生。恐らく数値を表示する時に文字列として判定しているため。表示時に+0をすることで解決できるが不便
チャート機能以外が揃っていない
コホート分析、サンキーダイアグラムが無い
期間指定のフィルターが微妙に使い辛い
ダッシュボード上でのCSVダウンロードが出来ない
クエリの詳細ページに行く必要がある。
技術的懸念
ReDash
特になし
MetaBase
国内利用の少なさ
海外だと同数程度の利用がある(トレンド比較・技術者サイトのコミュニティベース)
https://hn.algolia.com/?query=metabase&sort=byPopularity&prefix&page=0&dateRange=all&type=story
https://hn.algolia.com/?query=redash&sort=byPopularity&prefix=false&page=0&dateRange=all&type=story
利用懸念
ReDash
カスタマイズし続けるには作業負荷が大きい
遅延が大きい
MetaBase
全て英語
全体的なUI文章量が多く、日本語化は難しい
判断材料
Redashのバグの多さ
Google OAuthを利用した際、対象のGmailドメインで無ければ無限リダイレクト
Google OAuthを利用した際、サインアウトボタンを推しても永久ログイン
キャッシュが取得できない際に落ちる
重くてちょくちょく落ちる(microインスタンス, smallインスタンスだとクエリキャッシュ更新で応答が厳しくなる)
RedashのUIの悪さ
Redashのセキュリティ的懸念
インプット項目をダッシュボードに作るためには、「ユーザのスクリプトサニタイズを無効化」しないといけない。
任意のスクリプトを実行させることが可能になる
Metabase