AI

オープンソースBIツール比較:Metabase vs Apache Superset vs Redash でデータ可視化をセルフホストする

オープンソースラボ編集部2026年6月13日

オープンソースBIツール比較:Metabase vs Apache Superset vs Redash でデータ可視化をセルフホストする

TableauやLookerのような高価なBIツールを使わずに、社内のデータを美しいダッシュボードで可視化しましょう。Metabase・Apache Superset・RedashはオープンソースでセルフホストできるBIプラットフォームです。ノーコードでダッシュボードを作成し、SQLでカスタムクエリも書けます。

BIツールが解決する課題

  • データの民主化: エンジニア以外もSQLを書かずにデータを探索できる
  • ダッシュボード共有: 経営陣・マーケター・営業に数値を自動更新ダッシュボードで届ける
  • SQLエディタ: アナリストがBigQuery・Redshiftに接続してアドホック分析
  • アラート: KPIが閾値を超えたらSlackに自動通知
  • 埋め込み(Embedded BI): 自社サービスにダッシュボードを埋め込む

主要ツールの概要

Metabase

最も使いやすいオープンソースBIツールです。ドラッグ&ドロップのクエリビルダー・自動生成ダッシュボード・自然言語でのデータ質問(AI検索)を提供します。技術者でなくてもすぐに使えるUIが特徴です。

# MetabaseをDockerで起動(H2内蔵DB)
docker run -d   -p 3000:3000   --name metabase   metabase/metabase

# PostgreSQLを使う本番構成
docker run -d   -p 3000:3000   -e MB_DB_TYPE=postgres   -e MB_DB_DBNAME=metabase   -e MB_DB_PORT=5432   -e MB_DB_USER=metabase   -e MB_DB_PASS=metabase_pass   -e MB_DB_HOST=postgres   --name metabase   metabase/metabase

# UIは http://localhost:3000 でアクセス
# docker-compose(Metabase + PostgreSQL)
version: '3.8'
services:
  metabase-db:
    image: postgres:16
    environment:
      POSTGRES_DB: metabase
      POSTGRES_USER: metabase
      POSTGRES_PASSWORD: metabase_pass
    volumes:
      - metabase_db:/var/lib/postgresql/data

  metabase:
    image: metabase/metabase:v0.50.0
    ports:
      - "3000:3000"
    environment:
      MB_DB_TYPE: postgres
      MB_DB_DBNAME: metabase
      MB_DB_PORT: 5432
      MB_DB_USER: metabase
      MB_DB_PASS: metabase_pass
      MB_DB_HOST: metabase-db
      MB_SITE_URL: https://metabase.example.com
      MB_SEND_EMAIL_ON_FIRST_LOGIN_FROM_NEW_DEVICE: "true"
    depends_on:
      - metabase-db
# Metabase API でダッシュボードの埋め込みトークンを生成
import httpx
import jwt
import time

METABASE_SITE_URL = "http://localhost:3000"
METABASE_SECRET_KEY = "your-embedding-secret-key"

def get_embed_url(dashboard_id: int, params: dict = None) -> str:
    payload = {
        "resource": {"dashboard": dashboard_id},
        "params": params or {},
        "exp": int(time.time()) + 600,  # 10分有効
    }
    token = jwt.encode(payload, METABASE_SECRET_KEY, algorithm="HS256")
    return f"{METABASE_SITE_URL}/embed/dashboard/{token}#bordered=true&titled=true"

# Next.jsのページで埋め込み
embed_url = get_embed_url(dashboard_id=1, params={"user_id": "123"})
print(f"<iframe src='{embed_url}' width='100%' height='600'></iframe>")

Apache Superset

AirbnbがPythonで開発した高機能BIプラットフォームです。50以上のビジュアライゼーション・SQLエディタ・カスタムダッシュボード・DBT統合を提供します。Metabaseよりも高機能ですが、学習コストが高めです。

# SupersetをDockerで起動
git clone https://github.com/apache/superset.git
cd superset
docker compose up -d

# UIは http://localhost:8088 でアクセス(admin/admin)

# または Helmでk8sにデプロイ
helm repo add superset https://apache.github.io/superset
helm install superset superset/superset   --set supersetNode.replicaCount=1   --set init.adminUser.password=admin123   --namespace superset --create-namespace
# Superset REST APIでチャートを作成
import httpx

base_url = "http://localhost:8088"

# 認証
resp = httpx.post(f"{base_url}/api/v1/security/login",
    json={"username": "admin", "password": "admin", "provider": "db", "refresh": True})
access_token = resp.json()["access_token"]
headers = {"Authorization": f"Bearer {access_token}"}

# データソースを登録
database = httpx.post(f"{base_url}/api/v1/database/", headers=headers,
    json={
        "database_name": "My BigQuery",
        "sqlalchemy_uri": "bigquery://my-project",
        "expose_in_sqllab": True,
    }).json()

# チャートの作成
chart = httpx.post(f"{base_url}/api/v1/chart/", headers=headers,
    json={
        "chart_title": "月別売上",
        "viz_type": "bar",
        "datasource_id": database["id"],
        "datasource_type": "table",
        "params": '{"metrics": ["sum__amount"], "groupby": ["month"]}',
    }).json()
print(f"Created chart: {chart['id']}")

Redash

シンプルなSQLベースのダッシュボードツールです。SQLクエリを書いてビジュアライズ→ダッシュボードに並べる、というシンプルなワークフローが特徴です。エンジニア・アナリスト向けで、ノーコード機能はMetabaseほど強くありません。

# Redashをdocker-composeで起動
git clone https://github.com/getredash/setup.git redash-setup
cd redash-setup
./setup.sh
# または
docker compose up -d

# UIは http://localhost:5000 でアクセス
# Redash APIでクエリを実行
import httpx
import time

API_KEY = "your-redash-api-key"
BASE_URL = "http://localhost:5000"

def run_query(query_id: int) -> dict:
    headers = {"Authorization": f"Key {API_KEY}"}

    # クエリを実行してジョブIDを取得
    resp = httpx.post(f"{BASE_URL}/api/queries/{query_id}/results",
        headers=headers, json={})
    job_id = resp.json()["job"]["id"]

    # 結果をポーリング
    while True:
        status = httpx.get(f"{BASE_URL}/api/jobs/{job_id}", headers=headers).json()
        if status["job"]["status"] in (3, 4):  # 3=success, 4=error
            break
        time.sleep(1)

    # 結果取得
    result = httpx.get(f"{BASE_URL}/api/query_results/{status['job']['query_result_id']}",
        headers=headers).json()
    return result["query_result"]["data"]["rows"]

rows = run_query(query_id=42)
print(f"Got {len(rows)} rows")

機能比較表

比較項目MetabaseApache SupersetRedash
ノーコードクエリビルダー✅ 強力
SQLエディタ✅ 中心機能
ダッシュボード✅ 高機能
ビジュアライゼーション種類40+50+20+
埋め込み(iframe)
AIデータ質問✅ MetaAI
アラート
dbt統合
ロールベースアクセス✅ 詳細
行レベルセキュリティ
SSO(SAML/OIDC)✅ Enterprise
日本語UI⚠️
設定の容易さ★★★★★★★★☆☆★★★★☆
ライセンスBUSL 1.1Apache 2.0BSD 2-Clause
GitHub Stars38k+62k+25k+

BI・データ可視化ツールはknowledgeカテゴリ(/categories/knowledge)で一覧でき、マーケティング分析ツールはマーケティングカテゴリ(/categories/marketing)でも探せます。

FAQ

Q. MetabaseはTableau・Lookerの代替になりますか?

A. 日常的なダッシュボード閲覧・アドホック分析・非エンジニアのデータ探索はMetabaseで十分カバーできます。TableauやLookerが必要になるケース: 複雑なデータモデリングと再利用可能なメトリクス層(LookML相当)・大規模エンタープライズでの詳細なガバナンス・高度なビジュアライゼーションのカスタマイズ性。年間数百万円のコストが問題になっている場合、MetabaseはOSS版でも強力な代替になります。

Q. Metabaseのライセンス(BUSL)は商用利用できますか?

A. BUSL(Business Source License)は「競合するSaaSとして提供しない限り」商用利用可能です。社内のBIツールとして使う・自社のプロダクトに埋め込む用途は商用でも無料です。MetabaseをSaaSとして第三者に提供するビジネス(「BIツールを貸し出す」サービス)は有料ライセンスが必要です。

Q. Apache Supersetでdbtモデルをそのまま使えますか?

A. Supersetにはdbtとのネイティブ統合があります。dbtのmanifest.jsonを読み込むとdbtモデル(テーブル・ビュー)がSupersetのデータセットとして自動登録されます。dbtのカラム説明・メトリクス定義をSupersetに引き継ぐことでデータの一貫性が保てます。dbtのモデルを変更するとSupersetのデータセットも自動更新されます。

Q. 社内のBigQueryをMetabaseに接続する際のセキュリティ設定は?

A. 推奨設定: BigQueryにMetabase専用のサービスアカウントを作成し「BigQueryデータビューア」ロールのみ付与(書き込み権限を与えない)。Metabaseの管理画面でデータベース接続を設定し「SSLのみ」に設定。Metabase自体もHTTPS必須・管理者アカウントのMFA有効化を推奨。さらにMetabaseの「コレクション」機能でダッシュボードへのアクセスをチームごとに制限します。

まとめ

ユースケース推奨ツール
非エンジニア向け・手軽に始めるMetabase
高機能BI・dbt統合Apache Superset
エンジニア・アナリスト向けSQLダッシュボードRedash
Tableau/Looker代替Metabase または Superset

関連外部リソース

他の記事も読む

Let's Build Together

OSS導入、自社だけで悩まない。

ツール選定から構築・運用・AI活用まで、オープンソースラボ運営元のClasslessが伴走します。初回のご相談は無料です。