23 Apr 2012 Less Is More, Even With Databases
I’ve been writing (and blogging) for about ten years now. I’ve written lots of things over the years and I have learned how much better my writing becomes when I remove words upon editing. So much improvement can be found that I often feel it might have been best to have not written anything at all in the first place.
Over the weekend I came across a quote that gave me pause. It is attributed to Antoine de Saint-Exupéry, and has to do with writing as well:
“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
After reading that quote I started to think about data. I often see people trying to cram more data “just in case” in might be needed later. I will also find databases that are so badly abused that entire teams of people agree that “a re-write is needed”. They will discuss at great length what to do about sunsetting one system as they build another system with EVEN MORE crap than what the first one had. It can be surreal to experience, too. Some people are so attached to the old system you would think it was a family member or pet. They fight to keep someone from pulling the plug while others talk about what snacks they need to order for the wake.
Before you go about trying to shove more things into a perfectly good database do yourself a favor: stop and think. Are you shoving those extra columns onto that table so you can run a new report? Consider the benefits if you have your own reporting database, maybe even your own cube, before you consider just blindly shoving more and more stuff into the current system. Many times I see this as a result of “scope creep”, which is like the herpes of any good database design project…you know it’s there, you put some ointment on it, and the blemish goes away for a while but it never really goes away, the bad stuff is still with you, just lurking under the surface.
Think more about what you can take away from your current systems.
Think how much better things would be if you could separate out the transaction parts of your system from the reporting components.
Think about how much better things might be with less, and not with more.
“Il semble que la perfection soit atteinte non quand il n’y a plus rien à ajouter, mais quand il n’y a plus rien à retrancher.”