This is a really good question that gets to the heart of good design.
The data we want to analyse in data warehouse comes from the transactional systems that run the enterprise (HR, finance, CRM etc.)
Pulling that data together and turning it into information for analysis is the job of the warehouse and, in creating a warehouse, we face essentially four problems:
- The data is in incompatible formats
- It is usually of poor quality
- It is dispersed in different systems
- It is not structured for analysis.
To cure these ills we use extract, transform and load (ETL) routines to move data into a data warehouse. The extraction and transformation processes address the incompatibility and data quality issues. Plus, placing the data in a single warehouse removes the dispersal problem.
We can either structure the warehouse for analysis (as Teradata does) in which case there need be no data marts. However, data marts are often employed and typically contain subsets of data from the warehouse, organized to provide a particular analytical view and delivered to groups or individuals in an organization. For example, a mart of marketing data could be provided for the advertising department and one of staff data to the HR department.
So, even if you have a warehouse you don't have to use data marts. Equally, it is possible to create marts without a warehouse. You can put the data from a particular system, a finance system for example, into a data mart and structure the data for analytical purposes.
Once you understand the problems that warehouses and marts are designed to address, it is much easier to decide which you need.
Dig Deeper on Database management system (DBMS) architecture, design and strategy
Related Q&A from Mark Whitehorn
Here's a guide to primary, super, foreign and candidate keys, what they're used for in relational database management systems and the differences ... Continue Reading
The unstructured data types common in big data systems are often better managed by a NoSQL database than relational software, Mark Whitehorn says. Continue Reading
Analytics expert Mark Whitehorn explains the strengths of R and how to determine if the open source programming language fits your analytics purposes. Continue Reading