If Microsoft can deliver on the features for SQL Data Services (SDS) announced today then they have set the bar for SQL and Cloud database vendors. With a relational database offering that is fundamentally cloud-based, Microsoft becomes the first big vendor that has a SQL database for the cloud as well as the enterprise. While Oracle and DB2 cloud offerings are Amazon EC2 based, it seems that SDS is architected from the ground up to be cloud based and, although it has a SQL Server 2008 core, is exclusively intended for use in the cloud.
The announcement today seems to be, as Roger Jennings points out, to be a 'mid-course reversal' but I hope that it is not a reversal under the hood and that Microsoft hasn't compromised on the massive scalability offered by the cloud. Current database thinking is that the relational model doesn't scale and there is agreement that Brewster's CAP Conjecture is actually a theorem based on observations – being that a database cannot have Consistency, Availability and Partition Tolerance – you can only design for two. The announcement today doesn't have the necessary details to see how the SDS team has managed to pull of the cloud-based relational model and they promise 'High Availability, Fault Tolerance, Friction Free Provisioning, Pay As You Grow Scaling, Immediate Consistency' while adding 'true relational capabilities, T-SQL and compatibility with the existing developer and management tools ecosystem'.
I hope that a single SDS is able to scale up to run on thousands of nodes rather than being crippled by the needs of the incumbent relational model. Although the ACE model that has dominated the CTP is out the window it would seem that SDS 'core foundational components of SDS have not changed' and they promise that Microsoft service properties are ready to scale to '100's of terabytes of data in production deployments' – so maybe they have been able to work some magic.
Also announced is the use of TDS (Tabular Data Stream) which would seem to be the nearly communication protocol brought over from the Sybase days and still referenced in BOL. But it the support of ADO.NET and existing tools means that they have built a layer on top of TDS and will be working with ADO.NET Data Services to provide a RESTful interface.
So, consider Microsoft's proposition : They can offer a world-class on-premise RDBMS and, without reworking the data access layer applications (much), a roadmap for porting those applications to the cloud. This will make enterprises feel all warm and cuddly as they don't have to commit to a non-relational database for new developments but are still poised to take advantage of the cloud when the time is right. Google BigTable and Amazon SimpleDB can't offer the RDBMS and Oracle and DB2 can't offer the cloud. So Microsoft becomes the first major vendor to play in both markets and their message, although simplified by the time it reaches the CIO, is clear, consistent and comfortable.
If this is Microsoft's resounding response to customer input then maybe we will get an on-premise Azure fabric too.
Simon Munro @simonmunro