What is the purpose of a Datawarehouse?
- Key Performance Indicators (KPI)
- Performance - Data is stored in such a way (facts and dimensions) which enables higher performance against the same relational tables in an OLTP system.
- Slicing and Dicing - Viewing the data from multiple angles (dimensions) is the one of the best aspects of the Datawarehouse. Also included is the ability to drill down into the finer grained details.
- Single Source of Truth - Especially important in an enterprise environment which may have many systems of record. The datawarehouse allows you to aggregate all those systems into one environment. Not always completed, it's more of an ideal than anything.
- Clean Source Data (Transformation) - The datawarehouse allows you to "fix" the sub-par OLTP systems. Think garbage in, garbage out.
I also recognize that in an enterprise environment you can have the best designed OLTP systems but you still have to map the data to one field.
Ultimately, I think #1 should drive the design of all OLTP systems, making concessions where needed for performance. From there, your datawarehouse should flow fairly naturally. The ability to report on the data that you gather allows the business to make decisions for the future. In other words, it's the data stupid.