Data Marts
A focused slice of the warehouse built for one team's specific questions.
Key Points
- A data mart is domain-specific. A marketing mart has campaign data, customer segments, attribution. A finance mart has revenue, costs, and P&L breakdowns.
- Data marts can be dependent (built from the central warehouse) or independent (built directly from source systems, no central warehouse).
- Dependent marts are cleaner — single source of truth. Independent marts are faster to set up but create consistency problems when two marts define 'revenue' differently.
- In modern data stacks, dbt models and BI semantic layers serve the same function as traditional data marts.
- A data mart should answer the questions that specific team asks every week — not every possible question.
What it is
A data mart is a subset of a data warehouse scoped to a specific business domain or team — marketing, finance, sales, HR. Instead of giving every team access to the full warehouse and letting them write their own queries against raw data, a data mart pre-builds the tables and models that team actually needs.
Why it exists
A central warehouse serves everyone, which means it's structured for general use, not specific use. A marketing analyst doesn't want to join 12 tables every time they need campaign performance. A data mart pre-does those joins and exposes a clean, team-friendly model. It also controls access — HR data shouldn't be visible to sales.
Intuition
When to use
- When different teams need very different views of the same underlying data.
- When you need to control data access — restrict sensitive data to specific teams.
- When the central warehouse is too complex for non-technical users and you need to expose simpler, curated models.
Common mistakes
- Building independent data marts before a central warehouse exists, then discovering that 'revenue' means different things in the sales mart and the finance mart. This is called the 'spreadmart' problem.
- Over-building a mart with every possible column and table. A mart should be opinionated about what the team actually needs.
Notes
- The debate between 'warehouse first then mart' vs 'mart first then consolidate' is old and ongoing. Bill Inmon (top-down) vs Ralph Kimball (bottom-up) are the two camps from the 90s and the argument is still alive.
- In cloud-native data stacks the line between a 'mart' and a 'dbt model layer' is blurry. The concept is the same — curated, team-specific data models on top of raw warehouse data.
In practice
When you're asked to build models or reports for a specific team, you're essentially building a data mart — whether you call it that or not. Understanding the concept helps you think about scope, access control, and the right level of pre-aggregation.
Was this concept helpful?
Related concepts