Confessions of an Oracle DBA – Part 2
This post continues a short series on how a hard-core Oracle guy came to see that NoSQL databases are here to stay and are able to handle things that Oracle was never meant to.
In Part 1, I talked about the changes I’ve experienced as an Oracle database professional, including what’s led up the present rumblings we’re now seeing in the data management world. Let’s now continue and see why the impact of NoSQL databases on Oracle and other legacy RDBMS vendors may be greater than that seen with open source relational engines that came with the first pass of the Web.
As I mentioned in Part 1, I lost count of how many times we at MySQL were laughed at, insulted, and mocked for not holding to every RDBMS standard the way that Oracle and other databases did. But yet, the database was downloaded 50,000 times each day and is still ingrained in the vast majority of the websites that you use today.
Because (1) It was more cost effective than Oracle; (2) It empowered developers by allowing them to avoid corporate red tape, the oftentimes painful interactions with the corporate ‘data police’, and being an easier set of software to work with than Oracle; (3) In many situations, it handled Web and similar use cases better than Oracle.
Simply put, the Web brought with it new rules that eschewed Oracle. Fast moving startups with little money (not to mention an economy that soon put the screws to even the biggest companies with lots of cash). IT staffs with few or no DBAs where system architects and developers had to do it all. And perhaps most importantly, data management patterns that called for new ways to implement database-driven applications.
In short, the move from Oracle came about by necessity. And the same thing is happening again right now.
Déjà vu All Over Again
I soon realized that the needs being voiced to me in literally every customer visit I came back from (described in Part 1) were things being called out for everywhere. No longer were these things a problem only Google, Amazon, or Facebook had to tackle; instead, everyone from small startups to big corporations were struggling to wrap their arms around yet another new set of data rules that were quickly making mincemeat of Oracle and every other RDBMS on the planet.
Once again, necessity was driving change.
So naturally, modern businesses of all sizes looked to the tech leaders for how they solved these new data management issues. And once again, open source via the Googles and Amazons of the world came to the rescue.
I have to admit that I eyed the appearance of NoSQL databases with skepticism. I had seen object-oriented databases come and go, and watched OLAP databases not make a dent in (or be absorbed by) the RDBMS, so this new challenger to the relational way of life wasn’t high on my radar.
“No What?” I thought.
That was until I started investigating NoSQL databases like Apache Cassandra and began matching up the needs I had been hearing on almost every customer visit with the capabilities and benefits supplied by these databases. My impression after that exercise reminds me of a comment that a senior IT director at one of the world’s largest retail firms made to me recently after I finished an architecture presentation on what Cassandra can do:
“Really? That seems almost too good to be true.”
Make no mistake, NoSQL is not the land of fairies, pixie dust, unicorns, and magic where with a wave of the wand and the setting of one mere configuration parameter “fast_and_no_downtime=true”, you can solve all of your IT problems.
On the other hand, what Cassandra and some of its other NoSQL brethren can do is help solve some of the key tech challenges brought about by the new rules of data management that are popping up in just about every data center on the planet.
Further, technologies like Cassandra offer more than just mere cost reduction over Oracle’s expensive price tags, which was a big catalyst in the move to open source RDBMSs like MySQL in the Web 1.0 world. The fact is, NoSQL databases like Cassandra are architected from the ground up to accomplish things that neither Oracle nor any other RDBMS was ever designed to do. This is why I believe they will have greater impact on Oracle than earlier open source relational engines ever did.
In Part 3, I’ll cover the characteristics of the latest new rules of data management in more detail and explain why Oracle – excellent database that it is – falls short in meeting them like NoSQL engines can.