Data Warehouse vs Data Mart


I see a lot of confusion on what exactly is the difference between a data warehouse and a data mart.  The best definition that I have heard of a data warehouse is:

“A relational database schema which stores historical data and metadata from an operational system or systems, in such a way as to facilitate the reporting and analysis of the data, aggregated to various levels”.

Or more simply:

“A single organizational repository of enterprise wide data across many or all subject areas”.

Typical data warehouses have these characteristics:

  • Holds multiple subject areas
  • Holds very detailed information
  • Works to integrate all data sources
  • Does not necessarily use a dimensional model but feeds dimensional models.

On the other hand, a data mart is the access layer of the data warehouse environment that is used to get data out to the users.  The data mart is a subset of the data warehouse which is usually oriented to a specific business line or team.

According to the Inmon school of data warehousing, a dependent data mart is a logical subset (view) or a physical subset (extract) of a larger data warehouse, usually isolated for the need to have a special data model or schema (e.g., to restructure for OLAP).  One of the benefits of the new Tabular mode in SSAS is that you can build that on top of a data warehouse instead of a data mart, saving time by not having to build a data mart.

So in short, I like to think of a data warehouse as containing many subject areas, and a data mart as containing just one of those subject areas.

More info:

Data Mart vs Data Warehouse – The Great Debate

Data Warehouse Architecture – Kimball and Inmon methodologies

Data Mart Does Not Equal Data Warehouse

Data mart or data warehouse?

Data Warehouse – Data Mart

Data Warehouse vs Data Mart