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