I have a Hammer! Show me them Nails!

Its part of the human condition - the desire to solve all the problems you encounter with the tools that you currently have. 
Its not necessarily a bad thing - when Goongrah was being attacked by the Bear in the days of yore, he defended himself with the club he was carrying, since saying
"Yo Mr. Bear.  Hang on whilst i go fetch my spear from yonder cave.  And by the way, Ugh"
 wasn't really an option.
But ye gods, has this ever evolved into some remarkable insanity, especially in The World Of Development. 
Everything, but everything needs to be done using the same tools.  People will go out of their way, and twist themselves into knots to retrofit all their problems to their one solution. 
Take databases for example - till fairly recently people had two hammers (if that) - that they could use MySQL / PostgreSQL / Oracle for their persistence needs, and memcache for their key-value store.  And to be serious, some of the more devout ones didn't even bother with memcache.
With the advent of solution-oriented stores (NoSQL to you), this changed - it was possible to find Just The Right data store to fit the problem at hand.  Redis for caching, Neo4j for relationships, mongoDB for JSON documents, etc.
And yet, and yet, people persist on whacking at things with the SQL Hammer.  How many times have you heard a variation of the following?
  • MySQL can be used perfectly well to store <insert any damn data type here> data.
  • PostgreSQL scales just as well as <insert NoSQL store here>
  • Oracle all the way.  <Insert some bloody company here> uses it for all their operations
and so on ad nauseaum.  
I mean, of course you can use any of these SQL stores to do anything you want. 

Come to think of it, you could also give Oracle Exadata Server to Goongrah and have him whack at the bear with it.  Just because something is possible, doesn't mean that it even remotely approaches the level of being the Right Thing To Do. 

There is clearly some level of threat management going on too.  Having spent all these years with just one tool, the Hammerists have learnt to do all sorts of things with it, but ye gods did it take a lot of pain, suffering and sweat on their part.  Why should those pesky NoSQL upstarts get away with just waltzing in the front door with their NewFangled solutions?  The horror!  The horror!

All that being said, take a moment to ask yourself these questions -
Is this the best way to solve the problem?  Or is there religion involved?
You'll be surprised at the answer, I guarantee it...

Comments

James said…
This makes me think of the central banks, for which all problems require an increase in liquidity. Even if printing money will in the long run result in hyperinflation. More money = bigger hammer.

Popular posts from this blog

Cannonball Tree!

Erlang, Binaries, and Garbage Collection (Sigh)

Visualizing Prime Numbers