There is a lot of buzz on the NoSQL track these days, and it is gaining a lot of traction in the blogger world. But in the old school world of big business and big government there isn’t much movement, at least not that I’ve seen. In these industries there is still a lot of entrenchment with database companies like Oracle and Microsoft. These companies have invested a lot of money into their relational database infrastructure.
Its hard to see the “death” of the relational database right now. I don’t think a switch-over from relational databases to non-relational databases is coming – but there is a game changer coming; another new technology getting a lot of buzz and traction in the blog world: Cloud Computing. I think the biggest driver in changing from relational to non-relational databases will be The Cloud.
Microsoft, Oracle, Google, Amazon, RedHat, JBoss, Ubuntu, Rackspace and many others are starting to provide cloud computing hardware, operating systems and hosting services. Cloud computing provides cost effective scalability and resource sharing for web applications. Looking at three of the main cloud contenders out there, Amazon Web Services, Google AppEngine and Microsoft Azure you see three common components:
- Scalable Computing / Web Hosting computing
- Scalable File Storage
- Scalable Database Storage
The first two are pretty obvious and typically similar to traditional architectures, or not that different – however the Database storage is where things change: all three (Amazon, Google, Microsoft) have non-relational engines! While Amazon and Microsoft also have a cloud relational database, each comes at a different cost.
I see Amazon SimpleDB, Google’s BigTable, Windows Azure Storage Tables and others being a big NoSQL driver because of their price and scalability features. Once enterprises start moving into the Cloud and onto Cloud services I think we will see more architects evaluating and pushing for NoSQL.