Microsoft’s cloud computing offering with SDDS

Microsoft weighs in with its cloud computing offering in the form of SQL Server Data Services.  Currently in beta, users are able to sign up for free access.

A good screen cast walks you through the new tiered ‘ACE’ architecture which is designed around a top level ‘Authority’ a unit of geo-location which maps to an explicit DNS address eg:


Under this Authority are Containers, and within a container is a series of Entities.  The flat structure is analogous to Tables and Rows, however a Row can represent different Kinds of data that doesn’t necessarily conform to the same schema. In fact any data other then the core ID, Version and Kind attributes are ‘Flexible Properties’ and set similar to a key based dictionary.

Under the hood this functionality could well be implemented with the new Filtered Index and Sparse Column features of SQL 2008 which allow for efficient storage of such data.

SSDS is a web service accessed over the wire using a SOAP or simple REST interface currently secured with basic credentials over https.  To get started I recommend downloading the SDK to create / update and query your data using the explorer GUI.  In REST speak, use POST to create a record, PUT to update and record and DELETE speaks for itself.  Moving forward cloud computing security is a challenge for Microsoft, but will no doubt tie in with it’s claim-based Card Space initiative.

Ryan Dun has a great blog with some examples of what is possible right now with SSDS, as well as very nifty open source REST library that can wrap POCO’s for persisting them to the cloud.

Although I did experience some unexpected outage on the service, Microsoft do plan to charge for this service in the future so I’m sure they will be looking at SLA of at least two 9’s if they are planning on competing with the likes of Amazon and Google.

Reasons to upgrade to SQL 2008

With the release of SQL Server 2008 RTM and the associated VS 2008 SP1 (now available indpendantly), developers can get their hands on the host of new features available.  SQL IntelliSense has been a long time coming; geo-location features are well timed given the proliferation of GPS in mobile devices; and full-text searching has been beefed up and fully integrated into the database engine.

One of my favourite albeit less hyped new features is the Change Data Capture (CDC) support.  A screen castfrom the beta available last December illustrates how this technology captures data changes made to tables; and it does so directly from the transaction logs without the need for triggers.

Enabling CDC to will create individual SQL jobs, tables and functions to store and fetch the information that has changed.  All inserts and deletes are individually record, and updates have both a before and after row.  CDC allows you to retrieve the aggregate changes to a table within a particular time period with some specifically named functions under its own ‘cdc’ schema.

Going hand-in-hand with CDC is the integrated MERGE T-SQL statement which allows wholesale update/insert/delete operations on a target table that matches particular source criteria.