Saturday, June 06, 2009

17 Slides from Tech*Ed 2009’s “Building Applications with Microsoft SQL Data Services and Windows Azure” Session (DAT316)

Microsoft’s David Robinson and Liam Cavanagh presented the “Building Applications with Microsoft SQL Data Services and Windows Azure (DAT316)” session at Tech*Ed 2009. Here’s the abstract:

Are you looking to reduce the costs of building and maintaining enterprise applications? Do you want to extend the reach of your applications across multiple devices, locations and partners? SQL Data Services and Windows Azure provides you a friction free, highly scalable platform for building applications. The scale and reach of the cloud lights up a new class of application scenarios. Come see how easy it is to consume SQL Data Services from within Windows Azure. In addition, we dive into Microsoft's new "Data Hub" for businesses and see how this SQL Data Services powered synchronization service allows for data aggregation within the Hub to provide straightforward data sharing between on-premises databases, business partners, remote offices, and mobile users.

Unfortunately, viewing the video segments from Tech*Ed 2009 currently is restricted to registered attendees only. If you’re an attendee, click here to watch the recently released session video.

The session is important because the “mid-course reversal” from SQL Server Data Services (SSDS)’s Authority-Container-Entity (ACE) organization and Entity-Attribute-Value (EAV) table model to SQL Data Services (SDS)’s fully relational data model made a dramatic change to .NET Services. I discussed this subject in my SQL Data Services Abandons REST for TDS API and Knocks My Socks Off post of 3/10/2009. Dave’s and Liam’s presentation also covers Synchronization Services and the Data Hub (a.k.a., Project Huron).

This post complements my Ten Slides from the “What’s New in Microsoft SQL Data Services” (DAT202) Tech*Ed 2009 Session post of 5/22/2009. The slides are similar to Eric Nelson’s SQL Data Service Overview.

An overview of the Microsoft Platform Stack:

Introduced SQL Server Data Services at MIX 08 last year, but it wasn’t a relational service. SDS is v1 of a fully relational database in the cloud.

Developers wanted relational features. Multi-tenancy means your data will be living on servers shared with data of other organizations. Database size will be limited to “10s of GB.” The key is to address 95% or more of Web and departmental applications.

Remember, “it’s just SQL Server.” But the data is hardened to make multi-tenancy secure.

Previously required multiple portals for Azure services. Now the Azure Services Portal handles all services.


The Data Hub is an aggregation of data sources by a synchronization service hosted in Azure. You can take an existing database and “sync-enable” it, which means you can publish specific sets of table columns and rows to a table in the cloud. This includes creating an schema identical to an on-premises database under an Azure account. Synchronization causes any changes to a member database to be reflected in all other synchronization partners. For instance, read-only users might access data from the cloud, while read-write users access the on-premises database.

Synchronization is tough to implement, especially security, firewall issues, etc. But it enables local storage, so you can write applications for your local store (the Outlook model) which is synchronized with the cloud database.

And the alternative:

The initial version will target Microsoft databases, SQL Server and SQL Server Compact. Future versions will include encryption patterns so that confidential data can exist in the cloud, as well as support custom providers for third-party platforms. The SQL Data Services sync provider is optimized for the cloud.

Publish and Subscribe wizard utilities simplify synchronization of entire databases or selected tables. No code is required.

The Load Balancer picks a gateway to create a session on a database using TCP port 1433.

The distance from the data center will affect performance, so many applications will use the “code near” approach to colocate a Web application and data and enable [SOAP | Astoria]/REST/HTTP[S]. “Code far” uses the conventional Tabular DataStream (TDS) format on port 1433.

Code Far apps can benefit from Velocity caching on the client.

And the alternative:

Multiple database servers can run parallel queries across shards (partitions). Sharding enables petabyte databases in the cloud.

Register for the CTP from the Join the Mailing List link on

An orphan slide: