By Mike Marr
Expert Author
Article Date: 2011-12-14
I'm not ashamed to admit that I've seen Tyler Perry's Why Did I Get Married... more than once. I've even seen the sequel. Okay, maybe I'm a little ashamed. Can I blame my wife? Well, when life hands you romantic comedies, make lemonade - with plenty of alcohol. Also, use it to make good analogies to support your technical stance on why you shouldn't be in any hurry to implement that latest NoSQL technology.
In the movie referenced above, the characters discuss an 80/20 paradigm, where individuals in relationships are often attracted to a new potential partner because they have things that their current partner doesn't have. However, these different features blind them from seeing that the new partner lacks a majority of the things that makes your current partner great. You end up sacrificing 80% of what you want to receive the 20% you currently don't have. Likewise, I've found the same to be true for NoSQL databases. The 20% (easier replication and scaling, speed, schemaless, etc.) that NoSQL databases have come at the sacrfice of the 80% that we know and love from traditional SQL relational databases.
Unlike personal relationships in many cultures in the world, database polygamy is perfectly acceptable. Thus, the problem does not lie in choosing 20% over 80% or vice versa, but rather building applications that utilize the bests of both. Per the CAP theorem, a database that has 100% of what we want will likely never exist. However, blending the strengths of various databases will allow us to inch closer to the perfect database scenario.