Friday, October 03, 2008

SQL Server Data Services Team Architect Contrasts SSDS with SQL Server Under Amazon EC2

Soumitra Sengupta, an Architect on the SQL Server Data Services (SSDS) team posted the following comment in response to my Amazon Adds SQL Server to Oracle and MySQL as EC2 Relational Database Management Systems post of 10/1/2008:

A few comments:

1. What Oracle and Microsoft announced with AWS is simply an evolution to hosting. It does enable developers to get to the cloud faster and probably at a cheaper cost. Simple way to think about this is hosting on virtualized hardware and OS. Developers still have to worry about scaling, availability and consistency of their data tier. This does not solve those problems. It also requires you to install, upgrade and patch your software. SSDS is fundamentally different as it virtualizes database software and data and scales it across multiple spindles, multiple datacenters etc. As a developer, you worry about your data and code and not software upgrade, patching, scaling, availability, data consistency and SLA's. It is not a question of either or but a matter of choice and what you are optimizing for.

2. Astoria and SSDS ACE concepts are orthogonal. In SSDS we partition your data and spread it out across many machines to improve throughput, scale, latency and availability. Containers is an essential abstractions for SSDS. Within a container, it is possible for us to support Astoria as Astoria is scoped to a single consistency unit (you can call it a database or datasource). Authority is a concept we have put in to support geo-location and geo-distribution. It is essential to a service like SSDS but not Astoria.

These are early days of Cloud Computing so it can get confusing. Hope this helps to clarify.


Astoria is the code name for ADO.NET Data Services, which provides RESTful Web services from Entity Framework (read/write) and LINQ to SQL (read-only) data sources by implementing the HTTP GET, POST, PUT and DELETE methods with JavaScript Object Notation (JSON) and Atom Publication Format (AtomPub or APP) wire formats. The SSDS team plans to align SSDS access with Astoria. For a brief overview of Astoria, see the ADO.NET Data Services: Access data in the cloud with REST Tech Brief from Redmond Developer News. Manipulate Data in the Cloud with ADO.NET Data Services is a detailed tutorial for creating Astoria data services from Visual Studio Magazine.

ACE is an abbreviation for Authority, Container and Entity, the building blocks of SSDS. The SQL Server Data Services: Data storage in the cloud Tech Brief from Redmond Developer News has a brief description of SSDS architecture. Click here for a diagram of ACE layers from the Tech Brief. Test-Drive SQL Server Data Services from Visual Studio Magazine shows developers how to populate and query SSDS with .NET clients. Click here for a more detailed SSDS diagram.