データ分析のダッシュボードツールといえばMetabaseやRedashが定番ですが、最近Hacker Newsで話題になっている「Shaper」というツールが気になったので調べてみました。DuckDBをバックエンドに使い、SQLを書くだけでダッシュボードが作れるという、かなりシンプルなアプローチのBIツールです。

ShaperはSQLファーストの分析ダッシュボード

Shaperの最大の特徴は「SQLファースト」というコンセプトにあります。通常のBIツールではGUIでドラッグ&ドロップしてグラフを作りますが、ShaperではDuckDBのSQLクエリを書くだけでチャートが生成されます。

たとえば、週ごとのセッション数を積み上げ棒グラフで表示したい場合は、こんな感じのSQLを書くだけです。

SELECT 'Sessions per Week'::LABEL;
SELECT
  date_trunc('week', created_at)::XAXIS,
  category::CATEGORY,
  count()::BARCHART_STACKED,
FROM dataset
GROUP BY ALL ORDER BY ALL;

カラムに::XAXIS::BARCHART_STACKEDといった型キャストをつけることで、Shaperがどのカラムをどのチャート要素にマッピングするかを理解してくれます。SQLを知っている人にとってはかなり直感的なアプローチだと感じました。

主要な機能と特徴

Shaperが提供する機能をまとめてみました。

ビジネスインテリジェンス機能

  • 完全オープンソース&セルフホスト対応(Mozilla Public License 2.0)
  • SQLファーストかつAI対応の設計
  • Gitベースのワークフロー(ダッシュボード定義をコードで管理可能)
  • 複数データソースへのクロスクエリ

埋め込み分析機能

  • ホワイトラベリングとカスタムスタイル対応
  • JWTトークンによる行レベルセキュリティ
  • IFrameなしでの埋め込み(JavaScript&React SDK提供)

レポート自動化

  • PDF・PNG・CSV・Excelでの出力
  • スケジュールアラート&レポート
  • パスワード保護付きの共有リンク

なぜDuckDBなのか

ShaperがDuckDBを採用している理由は明快です。DuckDBはインプロセスで動作するOLAP(分析処理)特化のデータベースで(DuckDB公式サイト)、別途データベースサーバーを立てる必要がありません。また、CSVやParquet、JSONファイルを直接クエリできるため、データの準備コストが極めて低いのが魅力です。

従来のBIツールではPostgreSQLやMySQLなどのデータベースを用意し、ETL処理でデータを流し込む必要がありました。Shaperならファイルを直接参照するだけで分析が始められるので、特にスタートアップや小規模チームにとっては大きなメリットになりそうです。

Shaperの始め方

Dockerがあればすぐに試せます。以下のコマンドを実行するだけです。

docker run --rm -it -p5454:5454 taleshape/shaper

起動したらhttp://localhost:5454/newにアクセスすれば、すぐにSQLを書いてダッシュボードを作り始められます。本番環境へのデプロイ方法は公式デプロイガイドを参照してください。

Metabaseとの違い

Metabaseは非エンジニアでも使いやすいGUIが強みですが、ShaperはSQLを書ける人向けのツールです。Gitでダッシュボード定義を管理できるため、コードレビューやCI/CDとの統合がしやすいという利点もあります。

一方で、SQLが書けないメンバーがいるチームではMetabaseの方が導入しやすいでしょう。用途やチーム構成に応じた使い分けが大切ですね。

まとめ

ShaperはDuckDBの高速な分析処理とSQLの柔軟性を活かした、シンプルで実用的なBIツールだと感じました。特にGitベースのワークフローやIFrameなしの埋め込みは、開発者にとって嬉しい機能です。

データ分析ツールに興味がある方は、DuckDBの解説記事n8nを使ったワークフロー自動化もあわせてチェックしてみてください。