Death Knoll for Relational Databases ??

Well the subject line maybe a bit premature but I was investigating the new Windows Azure platform and when reading about the SQL Data Services the first thing that jumped into my head was could this be a small but major step in the decline of relational databases. For years OO databases have been touted as the grim reaper for relational databases but none have really broken into the mainstream, enter SQL Data Services.

As its a cloud service its got great scalability & capacity, its got communication (HTTP) covered with both REST & SOAP and finally its just part of the greater MS ecosystem for development support so you can use all the favorites such as Visual Studio, C#, etc. This all helps to lower MS’s entry into cloud computing as developers use familiar tools to develop applications.

So why a replacement for relational databases well just a few points,

  • It follows a more abstract model with Authorities (~Server), Containers (~Database) & Entities (~Rows). Entities just define one instance of data and are stored in a generic name\value property bag.
  • There really is no fixed schema in the containers or the Entitites just put in what you like.
  • Bound to see ORMs being developed to query\update the entities making it easy to work with for devs and should see more maturity in projects such as Prevayler.
  • Has internet scale which easily goes horizontal which can be done but is difficult with regular SQL Server.
  • No items such as stored procs, identity columns & referential integrity. This forces people into thinking about their domains, entities, repositories, factories, services, etc. and this whole concept has really matured with the advent of  Domain Driven Design.
  • Distributed cache will really help to make this whole thing work and you can see Microsoft are working on their own one called,  Velocity
  • Its not just Microsoft look at Amazons SimpleDB service
  • Folks should still worry about performance but  focus more on the business as massive performance gains in the  future with the likes of Intels  Dunnington Six cores on one chip.

I guess the really question is can the individual companies and the industry as a whole glue all these things together to bring around the demise of the relational database? Well I reckon there’s a better than 50/50 chance that within the decade it will become evident that they are sliding and look to no further proof of that but all Oracle acquisitions over the past few years.


~ by gracey on December 31, 2008.

3 Responses to “Death Knoll for Relational Databases ??”

  1. May want to take a look at

    My investigation currently suggests its a likely growth trend and we have found at least one instance where a relational database is inappropriate for our needs. We’re actively investigating/designing a bespoke column oriented database for a largely read only warehouse where we are confident of at least 5 times the performance found in a high performance RDBMS, and have considered document centric databases (such as CloudDB) for event storage in a large scale event driven architecture.

    Unfortunately, the document centric data stores do not appear to be enterprise quality just yet, and neither do most of the cloud databases – some are much worse than others though (worst case tied between Google App Engine’s Big Table & Amazon SimpleDB with eventual consistency – which both have their place, just not in our architectural framework).

  2. Just as I was looking over this post I noticed that one of the big things I left out with respect to the DDD stuff was its concept of persistence ignorance. This is where you have entites within your model which care about identity and business logic but have no knowledge of how \ where they are persistent to. This also for me the number one issue with Microsofts Entity Framework.

  3. Talking about ORM tools, there are couple of them available in the market which does make life easier. But the cool thing this one company has done is that its ORM Tool is completely integrated with its Distributed Caching solution and its no brainer what this could mean for a programmer when scalability, availability and performance are the keywords he has to abide by. check out

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: