Metabase is an open-source BI tool aimed at self-serve analytics. A business user builds a "question" through a point-and-click query builder, while an analyst can drop straight to SQL with variables and parameters. It runs as a single JVM application (or Docker container) that connects to your existing databases and reads from them at query time, so there is no separate storage engine to feed. For data teams, it is the low-friction option when you want non-technical staff answering their own questions without filing tickets.

Questions, models, and the query builder

A question is a saved query plus a visualization. The graphical builder generates SQL for joins, filters, and aggregations against the connected database; for anything it can't express, you switch to the native SQL editor. Metabase models are curated, reusable starting points: an analyst publishes a cleaned-up query as a model, sets column types and descriptions, and business users build questions on top of it without seeing the raw tables. That gives you a light governance layer short of a full semantic model.

SQL with parameters and templates

The native editor supports template tags for parameters and optional WHERE clauses, which power dashboard filters and reusable reports.

SELECT date_trunc('day', created_at) AS day,
       count(*) AS orders,
       sum(amount_usd) AS revenue
FROM orders
WHERE {{created_range}}
  [[ AND region = {{region}} ]]
GROUP BY 1
ORDER BY 1;

The double-brace tag becomes a dashboard filter; the bracketed block is dropped entirely when the region filter is left empty, so one query serves both the filtered and unfiltered views.

Deployment and operational notes

Metabase ships as a JAR or container and keeps its own metadata (questions, dashboards, users) in an application database. Use Postgres for that application database in production, not the bundled H2, which is fine only for evaluation. Because every dashboard tile is a live query against the source, heavy dashboards push load onto your warehouse; Metabase mitigates this with per-question result caching and a model-level cache. Permissions are group-based down to the table or row level via sandboxing.

AspectMetabase approach
AudienceBusiness users (query builder) and analysts (native SQL)
Semantic layerModels, not a code-defined layer like LookML
StorageQueries source DB live; app metadata in its own database
LicensingOpen-source core, plus paid Pro/Enterprise tiers

Frequently asked questions

Does Metabase store a copy of my data? No. It queries the connected database at request time and keeps only its own metadata (questions, dashboards, users) plus optional cached results.

How does it compare to Looker? Metabase favors quick self-serve over a governed code layer. For version-controlled metric definitions across the org, see Looker; for SQL plus notebooks, see Mode.

Can analysts write raw SQL? Yes. The native editor supports template tags, optional clauses, and snippets, and questions built that way work as dashboard sources and filter targets.

What database backs Metabase itself in production? Use Postgres or MySQL for the application database. The default embedded H2 file is only suitable for trials and does not survive a containerized restart cleanly.