Designing your database - objectives, rules, and goals
Whenever you create a data warehouse for reporting, you have to consider that there are finite resources. There is never enough space to store data, never enough time to populate the database, and never enough processing power to use a fully normalized source. Even with the latest super-fast technologies, such as Oracle exadata, there is a limit to the amount of data that can be stored or processed in a given time period.
The primary objective should always be to speed up report production, which means using a dimensional model, particularly when storing a large amount of data. As discussed in the theories section, using an Entity Relational database would reduce the redundancy of data, and therefore reduce the amount of data stored and the time taken to load it; however, report production times would increase.
It is always necessary to make a trade-off between Data Volume (to increase the speed of reporting), Load Speed (to minimize...