NoSQL and the End of Object Relational Models

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:

  1. Scalable Computing / Web Hosting computing
  2. Scalable File Storage
  3. 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.

2 Replies to “NoSQL and the End of Object Relational Models”

  1. Disclaimer: The opinions are my own and not necessarily those of my employer, Microsoft.

    Having spent the last year plus working heavily with Windows Azure and SQL Azure, there are definitely some benefits to Azure storage, particularly in the prototype / proof-of-concept phase. Azure Storage also scales well, so if you’re building a “mega-service”, Azure Storage is a great choice. As an architect, you should definitely evaluate and understand the NoSQL options and their trade-offs vs. the relational DB options.

    The SQL Azure team made a very difficult decision last spring to go away from the NoSQL approach and, instead, provide a relational database in the cloud. The feedback from our customers was loud and clear – we want our relational database. While it’s easy to get excited about the promise of NoSQL, RDBs have had decades to mature, and you very quickly start to miss features that you take for granted with a modern RDB. As SQL Azure matures, the features and capabilities will continue to increase, as will the value of an RDB in the cloud. The great news about the Windows Azure platform is that it provides choices that allow you to make the best decisions given the requirements, so it’s possible to leverage the best of on-premise, the cloud, NoSQL and a full-featured relational database like SQL Server.

  2. Thanks for the comment Bart!
    I suppose one of the points that I should have touched was the fact most developers and architects are experienced and comfortable with the the Relational Model and they are not comfortable with a NoSQL model. It did not surprise me at all that Microsoft’s customers wanted an RDB because Relational is proven. Azure isn’t (only because it is still so new), so it might be risky. Learning a new technology is fun for one developer, hard for a team – and even harder when migrating an existing project. Having to switch only one technology at a time reduces some risk.
    It will take baby steps to move into the Cloud just like it will take baby steps to move into a NoSQL domain. I still think the two will be linked.
    Personally, I think that Azure is one of the best options available because of the choices. I also think that offering SQL Azure was a good decision. At the moment, it is hard to say what will affect a customer’s or architect’s about using Azure’s services and which services they use, but as comfort with Cloud services increases I think we might see more Architects switching to Azure Storage.

Leave a Reply

Your email address will not be published. Required fields are marked *