When Your Boss Is Crazy
Recently I saw where a person openly talked about how their boss wanted to implement a denormalized database in order to save on CPU because they were building a web application and CPU was the most important thing.
There is simply so much wrong with that sentence. But where do you, as the DBA, start in fixing things?
I propose that instead of pointing out to your boss that they are wrong you take a different approach. Ask them for more information on all the metrics they want tracked with regards to the new database. Maybe the boss only lists CPU. If so, that’s fine. If they also list things like disk I/O, even better.
Then, ask your boss to define very specific thresholds for acceptable performance. Build the prototype of the database as they have instructed and see if the design allows for the metrics to be under the defined thresholds. If it does, wonderful. If it doesn’t, then you will be asked to recommend some changes.
And now is the time for you to start discussing the idea of implementing a more normalized database. Don’t do it in a way that says “I told you I was right”, just do it in small steps. Break out one table, then another, until you get the metrics in line with expected performance.
Eventually you will arrive at a design that is good enough for all parties. And you will have achieve this without causing an argument.