Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I would like to know if i have a web with a huge Database and throw expensive (in time)reports , the best way to do this is with one database for the web and a replicated one for reports, or only one for both, i'm worried that users can throw reports for 5 or more years because they need that information and the web crashes because of this.

share|improve this question

2 Answers 2

up vote 1 down vote accepted

Neither nore - time to make a second database that is optimized for reporting. This is standard operation procedure and is called a "Data Warehouse".

This should possibly also work on separate hardware, but this is "arguable" as long as the server is good enough.

Transactional databases (OLTP - highly normalized) and reporting databases (OLAP - star schemata, different design characteristics) do not mix well for larger loads.

share|improve this answer
    
thank you for your answer is very usfull –  developer May 20 '10 at 6:49

replicate/copy or do something!

Yes! because of the nature of OLTP, locking and resources you do not want to be running report queries against a production live copy of your db.

Setup replication to another server, or something to get copies of your prod data onto another box. The large scale measured & proper approach is DW's, ETL's star schema ect.

For a small system its baby steps though.

share|improve this answer
    
thank you for your answer is very usfull –  developer May 20 '10 at 7:16

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.