InfoQ

News

SQL Server Data Services: Microsoft's Answer to Amazon S3

Posted by Hartmut Wilms on Mar 06, 2008 03:27 PM

Community
.NET,
SOA
Topics
SaaS
Tags
SQL Server 2005 ,
SQL Server 2008

Microsoft has announced SQL Server Data Services (SSDS) at MIX08. Being a storage service on the web, SSDS is Microsoft's Amazon S3 competitor.

SSDS is another Microsoft service running on the web in addition to BizTalk Services. Neil Hutson offers a concise summary of what SSDS is all about:

SSDS you can think of as a structured data store in the cloud(building block service), which is accessed using Internet protocols using a basic data manipulation language. SSDS is for developers and businesses that need scalable, easily programmable, and cost-effective data storage with robust database query capabilities.

The SQL Server Data Services offer a flexible data model, which is structured as follows: Customer > Account > Authority > Container > Entity. Customers are companies or individuals that use SSDS. Each customer might open an arbitrary amount of accounts, which is connected with a unique Windows Live Id. Authorities are a concept analogous to namespaces,  and are  a in the context of billing and geo-location. Containers are a unit of consistency, defining boundaries for search and update operations.  The smallest and fundamental data unit is the entity.

Neil Hudson describes this fundamental data unit as "a Flexible Entity Model, where no schema required and you can update name/value pairs (which is the smallest unit of storage)". The name/value pairs represent properties, whose type information can be changed on the fly. Properties maybe added at any time. SSDS supports "simple types such as decimal, string, bool, etc and all the properties are indexed".

Data can be accessed and altered in many ways:

  • Microsoft Sync Framework (offline access)
  • ADO.NET Data Services
  • REST
  • SOAP

Data can be manipulated by CRUD operations on authorities, containers, and entities. Queries can be executed based on a text base query language, whose syntax follows the LINQ pattern for C#.

Regarding the predominance of Amazon S3 on the web storage market Robert Scoble said:

It’s almost too late for the others to get into the game [of data storage on the web]. It’s amazing (or maybe it should be “amazoning”) to me that Ray Ozzie over at Microsoft has let Amazon have so much runway.

According to Jamie Thomson nothing's carved in stone, yet:

Can [Microsoft] stop Amazon? Who knows, it might slow them down a bit (when SSDS finally gets released - it hasn't even reached beta yet) but Amazon are already miles and miles ahead with this. Having said that, its difficult to know how far Amazon have got into the enterprise data storage market and that will be Microsoft's key battleground.

Further information can be found on the product web site and the SSDS whitepaper.

WS computer cloud and S3 surpassed the usage of all of Amazon.com's global by Jean-Jacques Dubray Posted Mar 7, 2008 8:22 AM
Good to have some competition by Ted Slusser Posted Mar 7, 2008 8:44 AM
  1. Hartmut: an interesting piece of information came out yesterday on the Seattle Times. Brier Dudley reported that:

    Bandwidth usage by the AWS computer cloud and S3 storage services during the fourth quarter of 2007 surpassed the usage of all of Amazon.com's global Web sites. That's during the holiday shopping season.
    If anyone doubt that this is real, this is yet another piece of evidence.

  2. Back to top

    Good to have some competition

    Mar 7, 2008 8:44 AM by Ted Slusser

    I see this more as a competitor to SimpleDB than S3, but nevertheless, I think this is a great thing for the market. Amazon, please pay attention. I really like these features of SSDS that SimpleDB is lacking - Support for simple types: string, numeric, datetime, boolean - Query language supports the retrieval of complete entities - Use the same service interfaces for your storage needs at any scale (SimpleDB vs S3) AWS outage notwithstanding the future is very "cloudy"

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.