NoSQL has been one of the biggest technology trends of the past couple of years.
The rise of ‘big data’ and the growing number of solutions that promise to eliminate some of the long-standing headaches relational databases often create have given many companies, particularly start-ups, good reason to NoSQL databases.
But at least some of them are finding out that NoSQL isn’t the database market’s version of penicillin.
Take for example online advertising start-up Kiip. A year ago, it went into production with one of the most popular NoSQL solutions, MongoDB.
“We were initially attracted to MongoDB due to the features highlighted on the website as well as word of mouth from those who had used it successfully. MongoDB delivered on some of its promises, and our early experiences were positive,” the company writes on its engineering blog.
But the honeymoon didn’t last. “Underlying architectural issues” that reared their ugly heads as Kiip grew began to “limit the practical usage (it was) able to achieve with MongoDB.”
By the time the company needed to scale its data horizontally, something it felt it was being forced to do prematurely because of MongoDB’s poor performance, its confidence in the NoSQL database was so hurt that it opted to scale by ditching the product.
For key-value data, Kiip opted to move to Riak, another NoSQL solution. For data that needs to be queried in more sophisticated ways and that fits within a relational data model, it then turned to a relational database, PostgreSQL.
PostgreSQL, of course, is an old man as far as databases go – and it’s not nearly as sexy as today’s breed of NoSQL solutions. But PostgreSQL is if one thing a proven solution for storing relational data. That, of course, is what matters.
While there’s still reason to believe that NoSQL databases like MongoDB have a place in this world and will continue to grow in usage, there can also be little doubt that many organisations will learn the same lesson Kiip did: new and promising but not-battle-tested doesn’t always beat established, boring and battle-tested when it comes to database technologies.
Yes, relational databases have their limits, but those limits are generally known and understood; NoSQL databases, on the other hand, are home to many unknown unknows.
One important observation that often gets lost in the NoSQL hype is that there’s arguably just as much innovation in the relational database world as there is in the NoSQL world.
PostgreSQL, which was once considered an industrial grade but generally ‘slower’ alternative to MySQL, has made significant performance strides in the past several years. And thanks to companies like Percona, MySQL’s performance and clustering capabilities are rapidly improving as well.
Given these things, if there’s one thing that organisations should keep in mind when comparing relational databases to their NoSQL cousins, it’s this: don’t assume that relational databases aren’t evolving and becoming more capable just because they’ve already been around the block. That assumption is wrong and it can easily lead companies to adopt technologies that will limit what they can do going forward.
If Kiip’s experience is any indication, expect to see more and more companies realize this, blunting some of the insane growth NoSQL has seen in the past several years.