Azure’s Killer Feature – Table Storage [Blog]
Azure is stuffed with great features promising effortless scale and instant failover and disaster protection, but for me it’s Table Storage which are Azure’s killer feature.
SQL Server and SQL Azure are great products but for a lot (maybe even the vast majority) of cases they are overkill and add an unnecessary overhead and slow development. But there are almost no alternatives to persist structured data in a .NET application. XML is a good choice for small data storage tasks or for transmitting data, but it does not scale well. So for almost any structured data developers are forced to create and maintain databases, put query logic in the database and open and close database connections to read/write the data.
I recently heard Matt Mullenweg founder of WordPress.com discussing how WordPress uses MySQL simply as a dumb data store, no stored procedures, triggers etc. WordPress runs pretty much all the largest blogs and scales very well.
Clearly then, there’s a need for something a lot simpler than a full database – enter Tables, Azure’s answer to Amazon’s SimpleDB. In Tables data is stored in rows and columns but less structure is imposed than in database tables. Rules of normalization are relaxed and mixing different forms of data in a single table is now efficient. Tables don’t require connections like databases and more importantly they are blazingly fast and quick to develop.
Table storage goes some way to alleviate the biggest pain point for Azure adoption by smaller web developers – the minimum $10 per database which quickly racks up the monthly cost when several sites are added. Tables might prove a viable database alternative.
It will be very interesting to see how Tables evolve and which applications move over from SQL Server and SQL Azure.