I recently spoke to a user of SQL Server 2005 who said that their database was overly normalized and they replicate data to a report server. Isn’t a database supposed to handle both transactions and reporting? Why would I have to invest in 2 servers and replicate?
I know this is an open-ended, subjective question, and I don’t have statistics in the above case, but isn’t tuning of a database enough to handle transaction reporting? I can understand that for a data mining scenario we need a separate server with Analysis Services and de-normalizing. But for current year transactions?
Thanks.
It depends.
It’s entirely possible that a single year, or even a month’s detailed data might be better handled in a database where the schema is optimized for reporting, or even just the indexing scheme is different.
It also depends on the type of reporting, if you are comparing current month trends with past months, it’s a lot easier to have them in the same database. And if you have daily moving averages, it’s a lot easier to do that in a single database than to have to perform that operation over a database boundary.
As far as overly normalized – that can mean a lot of things.