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.
2. 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
3. Comprehensive platform for all data
Integration
Reporting
Analysis Synch
FILE
RDBMS
OLAP
Query Search
XML
Mobile and
Desktop Server
4. Upcoming Evolution – Data Services
Integration
Reporting
Analysis Synch
FILE
RDBMS
OLAP
Query Search
XML
Mobile and
Data Services
Desktop Server
5. 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
6. 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
7. 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
9. 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
11. 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)
{
…
12. 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
13. 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
14. Stores Flexible Entities
Unit of consistency
Widest domain of a single search and
operation
Unique name within parent container
15. A collection of Containers
Analog to namespace
Unit of billing and geo-location
Has DNS name
16. 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
17. Exposes URI for each resource
Service: https://data.sitka.microsoft.com/v1
CreateAuthority (POST)
Authority: https://auth.data.sitka.microsoft.com/v1
FetchAuthority (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)
18. 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
19.
20. 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
21. 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
22. Pre-register for beta access
http://www.microsoft.com/sql/dataservices
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: http://blogs.msdn.com/ssds
nigel.ellis@microsoft.com
25. •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.
26. 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