introducing sql server data services

29
Introducing SQL Server Data Services (SSDS) Nigel Ellis Architect Microsoft Corporation

Upload: goodfriday

Post on 12-Dec-2014

2.812 views

Category:

Technology


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Introducing SQL Server Data Services

Introducing SQL Server Data Services (SSDS)Nigel EllisArchitectMicrosoft Corporation

Page 2: Introducing SQL Server Data Services

Microsoft Data Platform EvolutionSQL Server Data Services

Value propositionShape of the serviceBuilding an application using the service

Release PlanCall to action

AgendaTopics we will talk about

Page 3: Introducing SQL Server Data Services

Microsoft Data PlatformComprehensive platform for all data

Mobile andDesktop

OLAP

FILE

XML

RDBMSQuery

Analysis

Reporting Integration

Synch

Search

Server

Page 4: Introducing SQL Server Data Services

Microsoft Data PlatformUpcoming Evolution – Data Services

Mobile andDesktop

OLAP

FILE

XML

RDBMSQuery

Analysis

Reporting Integration

Synch

Search

Server Data Services

Page 5: Introducing SQL Server Data Services

Data Services Vision

SYNC

SYNC SYNC SYNC

ADO.Net Data Services Framework

On Premises

Internet Standard Interfaces and Protocols (SOAP/REST/APP)

Mobile andDesktop

Client Applications

Web Services

Software

SQL Server Data Services (SSDS)

ADO.Net Data Services

Windows Live Services

+ Services

Page 6: Introducing SQL Server Data Services

DemoMicrosoft Sync Framework

Synchronizing Contacts between endpointsAccess, SSDS and Files

Each endpoint exposed for synchronization via a Sync Provider

FileProvider, AccessProvider,SSDSProvider, etc.

A Sync-Controlling ApplicationManages synchronization sessions between providers

AccessVcardFiles

SQL ServerData Services

Page 7: Introducing SQL Server Data Services

SQL Server Data ServicesYour Data Any Place, Any Time

Scales without Limits

• Storage and processing scales without restrictions

• Businesses pay only for the resources consumed

Application Agility

• Simple, flexible data model

• REST and SOAP protocols support

Business Ready SLA

• Built using robust Microsoft SQL Server technology

• SLA for business continuity

• Highly available, reliable and secure

Microsoft® SQL Server® Data Services (SSDS) is aWeb facing data storage and processing utility

Page 8: Introducing SQL Server Data Services

SQL Server Data ServicesHigh Level Architecture

Global Foundation Services

Distributed

Fabric

Mgmt.Services

SQLServices

Distributed

Fabric

Mgmt.Services

SQLServices

Distributed

Fabric

Mgmt.Services

SQLServices

Distributed

Fabric

Mgmt.Services

SQLServices

Distributed

Fabric

Mgmt.Services

SQLServices

Distributed

Fabric

Mgmt.Services

SQLServices

Distributed

Fabric

Mgmt.Services

SQLServices

SQL Server Data Services Platform

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

SQL Server Data Services

Page 9: Introducing SQL Server Data Services

AuthorityUnit of geo-location and billingCollection of containers

ContainerUnit of consistency/searchCollection of entitiesNo schema required

EntityProperty bag of name/value pairsUnit of update/change

Authority

Container

Entity

The 'ACE' Concepts

Page 10: Introducing SQL Server Data Services

Hello World on SSDS

demo

SSDS Data Browser

Page 11: Introducing SQL Server Data Services

Code Sample: REST POSTShown 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, "application/xml", 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) { …

Page 12: Introducing SQL Server Data Services

Concepts: Entity

Flexible Entity ModelNo schema required

Property bag of name / value pairs

Smallest Unit of Storage (unit of update)

Metadata propertiesID – unique within parent containerKind – track user type ex: JobListing, Resume, etcVersion – update timestamp on each operation

Flex propertiesCan change instance type or add additional propertiesSupport for simple types: decimal, string, bool, etcAll properties are indexed

Page 13: Introducing SQL Server Data Services

Concepts: Entity (Example)Entity properties may differ in type and

instanceProperty Type Value

Metadata

ID EntityId VWGOLF-01

Kind EntityKind

Car

FlexProps

Description

String Reliable, one owner, …

Price Numeric 12000.00

ListingDate

Datetime 01-01-2008

LocationZip

String 98052Property Type Value

Metadata

ID EntityId MINICOOPER-264

Kind EntityKind

FunCar

FlexProps

Description

String Reliable, one owner, …

Price Numeric 12000.00

ListingDate

String 1st January, 2008

LocationZip

String 98052

EngineSize

Numeric 1600

Additional property

Different instance types

Different Kinds

Page 14: Introducing SQL Server Data Services

Concepts: ContainerStores Flexible EntitiesUnit of consistencyWidest domain of a single search and operationUnique name within parent container

Page 15: Introducing SQL Server Data Services

Concepts: Authority

A collection of ContainersAnalog to namespaceUnit of billing and geo-locationHas DNS name

Page 16: Introducing SQL Server Data Services

Webservice API

Consumed using SOAP or RESTEndpoint secured by SSLEach authority has single ownerSecured using single owner credentials

Operations forAuthority provisioning

Create, Update, Delete

Container provisioning and queryEntity storage, update, delete and queryQuery uses simple LINQ-like syntax

Page 17: Introducing SQL Server Data Services

Web Service API (REST)Exposes URI for each resource

Service: https://data.sitka.microsoft.com/v1CreateAuthority (POST)

Authority: https://auth.data.sitka.microsoft.com/v1FetchAuthority (GET)QueryContainers (GET) with query “from e in … where …”CreateContainer (POST)

Container: https://auth.data.sitka.microsoft.com/v1/containerId FetchContainer (GET) QueryEntities (GET) with query “from e in … where …” UpdateContainer (PUT)DeleteContainer (DELETE)CreateEntity (POST)

Entity: https://auth.data.sitka.microsoft.com/v1/containerId/entityId FetchEntity (GET)UpdateEntity (PUT) DeleteEntity (DELETE)

Page 18: Introducing SQL Server Data Services

Building an appliction

Concept Usage Example

Authority

Single location for Litware applications

LitwareHR

Container

Container for app runtime, one container per tenant

LiwareHR_MetadataContosoHR, …

Entity Storage for each app type – jobs, resumes and various metadata items

JobListingApplication

Litware HR – a web-based recruiting serviceMulti-tenant application

Contoso (Web Startup)AdventureWorks (Bike Store)

RolesHR Manager and Job Applicant

Page 19: Introducing SQL Server Data Services

LitwareHR Recruiting App

demo

Demo of “finished application”

Page 20: Introducing SQL Server Data Services

So, when can I start using it?Sign up for Invitation only beta - 3/5/08

On boarding starts within two weeks using invitation codesNo charge for use during beta periodNext step – open beta within 6 months

Service refresh every 8 weeksNew functionality based on customer feedback

Go Live in H1’09Published SLA and SLMPricing and licensing model TBD

Mar-08 Apr-08 May-08 Jun-08 Jul-08 Aug-08 Sep-08 Oct-08 Nov-08 Dec-08 Jan-09

LiveH1'09

Jul-08 - Jan-09Open Beta

Mar-08 - Jul-08Invitation Only Beta

Aug-08Refresh-3

3/5/08Registration

Begins

Jul-08Refresh-2

Jan-09Refresh-5

Oct-08Refresh-4

May-08Refresh-1

Page 21: Introducing SQL Server Data Services

SQL Server Data ServicesKey Takeaways

This is the starting pointScale, cost and operations excellenceLearn 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 servicesNovel distributed data fabric for massive scale out and lights out operation

Service will evolve based on feedback and partnerships

Rich data types and queryBlobs and full text searchRich services: reporting, analytics, caching, sync and data qualityWe are extending our data platform to the Cloud

Page 22: Introducing SQL Server Data Services

Resources

Pre-register for beta accesshttp://www.microsoft.com/sql/dataservices Documentation, samples and more

Get more during MIXOpen spaces chalktalk – Thu 12 & Fri 11:30Open spaces theatre – 2pm Hands on lab – LDATA01Microsoft Sync Framework (T32)

Team blog: http://blogs.msdn.com/ssds [email protected]

Page 23: Introducing SQL Server Data Services

© 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.

Page 24: Introducing SQL Server Data Services

APPENDIX

Page 25: Introducing SQL Server Data Services

Services Taxonomy

Attached Service

Finished Service

Building Block Service

•Used primarily by end users• Can be used by developers to build other services• Examples: Search, Hotmail, CRM Live

• Adds value when used in conjunction with on-premises software• Used primarily by end-users• Examples: Exchange Hosted Services, Windows Update

• Foundation pieces for other services• Used by developers to build Finished, Attached or other Building Block Services• Examples: LiveID, SSDS, etc.

Page 26: Introducing SQL Server Data Services

Query Language

Textual query language through web-service headLanguage patterned after C# LINQ syntax

from e in container where e.Kind == "CarForSale" &&

e[“Zip"] == 98053 && e["Model"] == "Mini Cooper" select e

Operator semantics handles dynamic instance typinge[“Zip”] could be number in one entity and string in another

Query supported over metadata and data propertiesLimited to simple filters using comparison operations

Page 27: Introducing SQL Server Data Services

Web Service API (SOAP)

Endpoint exposed for service: https://data.sitka.microsoft.com/soap/v1 Authority

Authority Get(AuthorityId)IEnumerable<Container> Query(AuthorityId, query)Create(ContainerId, Container)

ContainerContainer Get(ContainerId)IEnumerable<Entity> Query(ContainerId, query) Container Update(ContainerId, Container)Delete(ContainerId)Create(EntityId, Entity)

EntityEntity Get(EntityId)Entity Update(EntityId, Entity)Delete(EntityId)

Page 28: Introducing SQL Server Data Services

Web Service API (REST)

Exposes URI for each resourceAuthority: https://auth.data.sitka.microsoft.com/v1

GetAuthorityMetadata (GET)QueryContainers (GET) with query payload “http://a/v1/c?q={…}”CreateContainer (POST)

Container: https://auth.data.sitka.microsoft.com/v1/containerId GetContainerMetadata (GET) QueryEntities (GET/Query) – with query payload “http://a/v1/c?q={…}”UpdateContainerMetadata (PUT)DeleteContainer (DELETE)CreateEntity (POST)

Entity: https://auth.data.sitka.microsoft.com/v1/containerId/entityId GetEntity(GET)UpdateEntity (PUT) DeleteEntity (DELETE)

Page 29: Introducing SQL Server Data Services