Introducing SQL Server Data Services


Published on

Come learn about our new cloud-based storage service and how it addresses a number of business scenarios. This session introduces the new Microsoft SQL Server Data Services, as well as outlines business models and terms

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introducing SQL Server Data Services

  1. 1. Topics we will talk about Microsoft Data Platform Evolution SQL Server Data Services Value proposition Shape of the service Building an application using the service Release Plan Call to action
  2. 2. Comprehensive platform for all data Integration Reporting Analysis Synch FILE RDBMS OLAP Query Search XML Mobile and Desktop Server
  3. 3. Upcoming Evolution – Data Services Integration Reporting Analysis Synch FILE RDBMS OLAP Query Search XML Mobile and Data Services Desktop Server
  4. 4. Software + Services Client Web Services SYNC Mobile and Applications Desktop Internet Standard Interfaces and Protocols (SOAP/REST/APP) ADO.Net Data SQL Server Data ADO.Net Data Services Framework Services (SSDS) Services Windows Live Services On Premises SYNC SYNC SYNC
  5. 5. Microsoft Sync Framework Synchronizing Contacts between endpoints Access, SSDS and Files SQL Server Data Services Each endpoint exposed for synchronization via a Sync Provider FileProvider, AccessProvider, SSDSProvider, etc. A Sync-Controlling Application Vcard Files Access Manages synchronization sessions between providers
  6. 6. Your Data Any Place, Any Time Microsoft® SQL Server® Data Services (SSDS) is a Web facing data storage and processing utility Business Ready Application Scales without SLA Agility Limits • Built using robust Microsoft • Simple, flexible data • Storage and processing SQL Server technology model scales without restrictions • SLA for business continuity • REST and SOAP • Businesses pay only for protocols support the resources consumed • Highly available, reliable and secure
  7. 7. High Level Architecture SQL Server Data Services REST / REST / REST / REST / REST / REST / REST / SOAP SOAP SOAP SOAP SOAP SOAP SOAP ACE Logic ACE Logic ACE Logic ACE Logic ACE Logic ACE Logic ACE Logic Client Client Client Client Client Client Client Library Library Library Library Library Library Library SQL Server Data Services Platform SQL SQL SQL SQL SQL SQL SQL Services Services Services Services Services Services Services Distributed Distributed Distributed Distributed Distributed Distributed Distributed Fabric Fabric Fabric Fabric Fabric Fabric Fabric Mgmt. Mgmt. Mgmt. Mgmt. Mgmt. Mgmt. Mgmt. Services Services Services Services Services Services Services Global Foundation Services
  8. 8. Authority Authority Unit of geo-location and billing Collection of containers Container Unit of consistency/search Container Collection of entities No schema required Entity Entity Property bag of name/value pairs Unit of update/change
  9. 9. SSDS Data Browser
  10. 10. Shown as part of demo private static void CreateEntity(string containerUri, string entityPayload) { try { // Create the request to send. WebRequest request = CreateRequest( containerUri, HttpMethods.POST, entityPayload, quot;application/xmlquot;, UserName, Password); // Get the response and read it in to a string. using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode != HttpStatusCode.Created) … } } catch (WebException ex) { …
  11. 11. Flexible Entity Model No schema required Property bag of name / value pairs Smallest Unit of Storage (unit of update) Metadata properties ID – unique within parent container Kind – track user type ex: JobListing, Resume, etc Version – update timestamp on each operation Flex properties Can change instance type or add additional properties Support for simple types: decimal, string, bool, etc All properties are indexed
  12. 12. Entity properties may differ in type and instance Property Type Value Metadata ID EntityId VWGOLF-01 Kind EntityKind Car Reliable, one owner, … Different Kinds FlexProps Description String Price Numeric 12000.00 ListingDate Datetime 01-01-2008 LocationZip String 98052 Property Type Value Different instance Metadata ID EntityId MINICOOPER-264 types Kind EntityKind FunCar Reliable, one owner, … FlexProps Description String Price Numeric 12000.00 1st January, 2008 ListingDate String Additional property LocationZip String 98052 EngineSize Numeric 1600
  13. 13. Stores Flexible Entities Unit of consistency Widest domain of a single search and operation Unique name within parent container
  14. 14. A collection of Containers Analog to namespace Unit of billing and geo-location Has DNS name
  15. 15. Consumed using SOAP or REST Endpoint secured by SSL Each authority has single owner Secured using single owner credentials Operations for Authority provisioning Create, Update, Delete Container provisioning and query Entity storage, update, delete and query Query uses simple LINQ-like syntax
  16. 16. Exposes URI for each resource Service: CreateAuthority (POST) Authority: FetchAuthority (GET) QueryContainers (GET) with query “from e in … where …” CreateContainer (POST) Container: FetchContainer (GET) QueryEntities (GET) with query “from e in … where …” UpdateContainer (PUT) DeleteContainer (DELETE) CreateEntity (POST) Entity: FetchEntity (GET) UpdateEntity (PUT) DeleteEntity (DELETE)
  17. 17. Litware HR – a web-based recruiting service Multi-tenant application Contoso (Web Startup) AdventureWorks (Bike Store) Roles HR Manager and Job Applicant Concept Usage Example Authority Single location for Litware applications LitwareHR Container Container for app runtime, LiwareHR_Metadata ContosoHR, … one container per tenant Storage for each app type – jobs, Entity JobListing resumes and various metadata items Application
  18. 18. Sign up for Invitation only beta - 3/5/08 On boarding starts within two weeks using invitation codes No charge for use during beta period Next step – open beta within 6 months Service refresh every 8 weeks New functionality based on customer feedback Go Live in H1’09 Published SLA and SLM Pricing and licensing model TBD May-08 Jul-08 Aug-08 Oct-08 Jan-09 Refresh-1 Refresh-2 Refresh-3 Refresh-4 Refresh-5 Live H1'09 Mar-08 Apr-08 May-08 Jun-08 Jul-08 Aug-08 Sep-08 Oct-08 Nov-08 Dec-08 Jan-09 3/5/08 Mar-08 - Jul-08 Jul-08 - Jan-09 Registration Invitation Only Beta Open Beta Begins
  19. 19. Key Takeaways This is the starting point Scale, cost and operations excellence Learn about customer and partner usage patterns Built on proven Windows Server and SQL Server technology Industrial strength servers; years of experience running large scale MSN and Live services Novel distributed data fabric for massive scale out and lights out operation Service will evolve based on feedback and partnerships Rich data types and query Blobs and full text search Rich services: reporting, analytics, caching, sync and data quality We are extending our data platform to the Cloud
  20. 20. Pre-register for beta access Documentation, samples and more Get more during MIX Open spaces chalktalk – Thu 12 & Fri 11:30 Open spaces theatre – 2pm Hands on lab – LDATA01 Microsoft Sync Framework (T32) Team blog:
  21. 21. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  22. 22. •Used primarily by end users • Can be used by developers to build other services Finished Service • Examples: Search, Hotmail, CRM Live • Adds value when used in conjunction with on-premises software • Used primarily by end-users Attached Service • Examples: Exchange Hosted Services, Windows Update • Foundation pieces for other services • Used by developers to build Finished, Building Block Service Attached or other Building Block Services • Examples: LiveID, SSDS, etc.
  23. 23. Textual query language through web-service head Language patterned after C# LINQ syntax from e in container where e.Kind == quot;CarForSalequot; && e[“Zipquot;] == 98053 && e[quot;Modelquot;] == quot;Mini Cooperquot; select e Operator semantics handles dynamic instance typing e[“Zip”] could be number in one entity and string in another Query supported over metadata and data properties Limited to simple filters using comparison operations
  24. 24. Endpoint exposed for service: Authority Authority Get(AuthorityId) IEnumerable<Container> Query(AuthorityId, query) Create(ContainerId, Container) Container Container Get(ContainerId) IEnumerable<Entity> Query(ContainerId, query) Container Update(ContainerId, Container) Delete(ContainerId) Create(EntityId, Entity) Entity Entity Get(EntityId) Entity Update(EntityId, Entity) Delete(EntityId)
  25. 25. Exposes URI for each resource Authority: GetAuthorityMetadata (GET) QueryContainers (GET) with query payload “http://a/v1/c?q={…}” CreateContainer (POST) Container: GetContainerMetadata (GET) QueryEntities (GET/Query) – with query payload “http://a/v1/c?q={…}” UpdateContainerMetadata (PUT) DeleteContainer (DELETE) CreateEntity (POST) Entity: GetEntity(GET) UpdateEntity (PUT) DeleteEntity (DELETE)