As the minicomputer brought Oracle, will the cloud bring a new database?
If you look at the emergence of the relational database, you’ll see two things which came together to create one of the largest software companies in the world:
- A new and compelling software technology (relational databases)
- A platform shift (from mainframe to minicomputer)
In my opinion, it was the combination of the two which created such vast changes in the database industry.
The question I think about a lot is what changes will cloud computing bring to the database industry. Will cloud be the platform change that ushers in a new generation of database technologies, and if so which ones and how sweeping will the change be? It is both intellectually interesting and one of the largest external factors effecting the company I run (10gen, the company that builds mongoDB; yes, this is an obvious source of bias for me in this post).
I don’t have a definitive answer, but I’ll share some of the “for” and some of the “against”.
Let me start with a few of the arguments against:
No forced move: “Cloud” doesn’t require new software; part of the beauty of cloud is that you can run your same stack more flexibly and less expensively. IMS simply wouldn’t run on your VAX or Sun, so you were forced to migrate if you wanted to use that hardware. No such problem, so the comparison is irrelevant.
It already happened: with the shift to commodity hardware; mySQL has become the “default choice” that Oracle used to be, and that dominance will only increase in the cloud, where traditional licensing is often problematic. Cloud computing is mostly a cost play, and mySQL is already the perfect low-cost database.
Now, the arguments for:
Cloud is about more than cost: cloud is about scalability, flexibility, agility, and immediacy. You need a database which was “born for the cloud” to take advantage of an elastic environment. The work involved in making relational databases scale on traditional hardware is hard enough; making them scale in the cloud is possible if you’re willing to carefully restrict how you use them and build a lot of additional infrastructure, but that costs you agility.
Cloud democratizes computing: have developers finally been freed from the shackles of “big IT?” Will they finally get a datastore without an impedance mismatch? When they needed to requisition a bunch of hardware and get a 6-figure purchase order to start development, IT had a lot of control over their platform choices. Now, a developer can spin up some EC2 instances on their credit card, download an open source database, and show their boss a working app a few weeks later. Maybe they need a 5-figure check to get enterprise grade production support, but that’s an easy decision once the application is built.
How much will cloud change the database landscape? If I really knew the answer, I should be investing in software companies, not running them. But I’m betting on change.