Metabaseはインストールが簡単で、そして誤った使い方をするのも意外なほど簡単です。300msで応答するダッシュボードと、フィルターのたびに固まるダッシュボードの違いは、めったにMetabase側にはありません——その下にあるモデリングにあります。これは、Meta Dadosが自社プロダクトから物流オペレーションに至るまで、本番環境で適用している手法です。
なぜモデリングが体験を決めるのか
Metabaseは、あなたが指定したデータベースに問い合わせます。チームからの問い合わせ一つひとつがトランザクションテーブルへのフルスキャンになってしまえば、インターフェースをどう調整してもパフォーマンスは救えません。モデリングとは、あらかじめ次の三つを決めることです:重い集計をどこで行うか、ビジネスが目にする語彙は何か、そして分析系を顧客向けに稼働しているものからどう切り離すか。
マテリアライズドビュー:重さが宿るべき場所
最も頻繁に問い合わせられる切り口——あらゆるダッシュボードに現れるようなもの——は、PostgreSQLのマテリアライズドビューとなり、事前に集計されインデックスが張られます。Metabaseは出来上がった結果を読むだけで、クリックのたびに再計算しません。
- テーブル全体ではなく、コストが高く繰り返されるもの(期間・地域・カテゴリ別の集計)をマテリアライズします。
- リフレッシュの頻度は、ビジネスが求める鮮度に合わせて決めます——数分単位から日次サイクルまで。
- ダッシュボードが実際に使うフィルター列と結合列にインデックスを張ります。
ネイティブのModels:ビジネスが理解できるセマンティックレイヤー
ビューの上に、MetabaseのModelsがセマンティックレイヤーを形成します:列名をビジネスの語彙に置き換え、技術的なキーを隠し、フィールドに型(通貨、日付、都市)を与え、クエリビルダーの出発点となります。アナリストは、技術的な名前を持つファクトテーブルではなく、「配送」や「企業」といった単位で問いを組み立てます。
分析系をトランザクション系から切り離す
分析クエリと本番APIは、同じデータベースを奪い合いません。私たちは、BIの負荷のために専用データウェアハウス——レプリカまたは別のデータベース——を使います。顧客に対応するオペレーションは重いレポートの負荷を感じず、BIは稼働中のものを落とす心配なく思う存分モデリングできます。
運用:リフレッシュ、テスト、そして進化
モデリングは一度きりの納品ではありません。パイプラインは読み込みのたびに完全性と整合性を検証し、ビューのリフレッシュは監視され、ビジネスが新しい問いを立てるたびに新しいModelsが生まれます。これこそが、引き継ぎの後もセルフサービスを生かし続けるものです。
よくある質問
Metabaseを使うには、別途データウェアハウスが必要ですか?
小規模なデータ量なら、必要ありません——Metabaseはあなたのデータベースに直接問い合わせます。しかし、分析クエリがオペレーションと競合し始める(遅延、ロック)と、分析系を専用ウェアハウスに切り離すことは贅沢ではなくなり、BIも本番も固まらないことを保証する要となります。
MetabaseのModelは、データベースのビューを置き換えるものですか?
いいえ、両者は補完し合います。マテリアライズドビューはデータベースでのパフォーマンスと事前集計を解決し、ModelはMetabaseでのセマンティクスと使いやすさを解決します。両者が揃って、高速でビジネスチームにも理解できるダッシュボードを実現します。