sql data services (sds) azure services platform

21
SQL Data Services (SDS) Azure Services Platform

Upload: jalen-biringer

Post on 14-Dec-2015

228 views

Category:

Documents


3 download

TRANSCRIPT

SQL Data Services (SDS)Azure Services Platform

Azure™ Services Platform

Azure™ Services Platform

Agenda

• Database• ACE model• Datatypes• Administration and API (REST and SOAP

interface)• Tools (Windows)• Roadmap

So what is it?

Sql Data ServicesA database ..... However not a RDBMS!

Current setup in CTP:• Each user will be allowed 50Gb of storage across all Authorities• 1000 Containers per Authority • 1Gb of Blob Entities per Container (up from 500mb)• 100mb of Flexible Entities per Container (up from 20mb)• Each Blob Entity will be capped at 100mb

ACE Containment Model

Authority Containers EntitiesAuthority

Container

Container

Entity

EntityEntity

Entity

Supported datatypes

Type system is W3 Xml Schema string boolean dateTime decimal base64Binary

+ ……………………………………….. Blob

Administration and API

REST SOAP

REST Create - HTTP Post

Authority:

<s:Authority xmlns:s="http://schemas.microsoft.com/sitka/2008/03/"> <s:Id>myCRMDatabase</s:Id></s:Authority>

Container:

<s:Container xmlns:s="http://schemas.microsoft.com/sitka/2008/03/"> <s:Id>myCustomers</s:Id></s:Container>

REST Create - HTTP Post (2)Entities:

<Entity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:s="http://schemas.microsoft.com/sitka/2008/03/"> <s:Id>id234985798</s:Id> <kind xsi:type='x:string'>customer</kind> <firstname xsi:type='x:string'>Jens</firstname> <surname xsi:type='x:dateTime'>Jensen</surname> <status xsi:type='x:string'>Gold member<status/> </Entity>

Or

<customer xmlns:s='http://schemas.microsoft.com/sitka/2008/03/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:x='http://www.w3.org/2001/XMLSchema' > <s:Id>id234985798</s:Id> <kind xsi:type='x:string'>customer</kind> <firstname xsi:type='x:string'>Jens</firstname> <surname xsi:type='x:dateTime'>Jensen</surname> <status xsi:type='x:string'>Gold member<status/> </customer>

REST Delete - HTTP Delete

Authority:

Not Supported!

Container:

https://{AuthorityID}.data.database.windows.net/v1/{ContainerID}

Entity:

https://{AuthorityID}.data.database.windows.net/v1/{ContainerID}/{EntityID}

REST Update - HTTP Put

Entity:

https://{AuthorityID}.data.database.windows.net/v1/{ContainerID}/{EntityID}

<Entity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:s="http://schemas.microsoft.com/sitka/2008/03/"> <s:Id>7234985798</s:Id> <kind xsi:type='x:string'>customer</kind> <firstname xsi:type='x:string'>Jens</firstname> <surname xsi:type='x:dateTime'>Jensen</surname> <status xsi:type='x:string'>Gold member<status/>

<gender xsi:type='x:string'>Male<gender/> </Entity>

REST Retrive - HTTP Get

Authority:

https://{AuthorityID}.data.database.windows.net/v1/

Container:

https://{AuthorityID}.data.database.windows.net/v1/{ContainerID}

Entity:

https://{AuthorityID}.data.database.windows.net/v1/{ContainerID}/{EntityID}

SOAP - CRUD pattern

Metadata infomation (WSDL’s)

Access and authentication:

https://database.windows.net/soap/v1/

...imports messaging and CRUD pattern interface:

https://database.windows.net/soap/v1/schemas.microsoft.com.sitka.2008.03.wsdl

Query

General syntax:from e in entities [where condition] [orderby property 1 [,property 2, …]] select e

Comparison Operators: >, >=, <, <=, ==, != Logical operators: && (and), || (or),! (not) Syntax difference - mandatory system entity metadata vs entity properties:

from e in entities where e.Id == "id234985798" select e or

from e in entities where e["firstname"] == "Jens" select e

Query helpers

Ofkind():from e in entities.OfKind(”customer”) select e

Take(): (from e in entities where e[“firstname”] == “Jens" select e).Take(10)

Take(from e in entities.OfKind(“customer“) select e, 10) Join support:

from c in entities.OfKind(“customer“) where c[“firstname"] == “Jens" from o in entities.OfKind(“order“) where o[“customerId"] == c.Id select o

REST Query

Containers

All containers in Authority: https://{AuthorityID}.data.database.windows.net/v1/?q=

Container “customer”:https://{AuthorityID}.data.database.windows.net/v1/?q="from%20e

%20in% 20entities%20where%20e.Id==“customer"%20select%20e"

Entities

All entities in container:https://{authority-id}.data.database.windows.net/v1/{container-id}?q=''

Select specific entity:https://{AuthorityID}.data.database.windows.net/v1/{containerid}?

q="from %20e%20in%20entities%20where%20e.Id==“id23243532"%20select%20e"

SOAP Query

<wsdl:message name="ISitkaSoapService_Query_InputMessage"> <wsdl:part name="parameters" element="tns:Query" /> </wsdl:message>

<xs:element name="Query"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="scope" type="tns:Scope" /> <xs:element minOccurs="0" name="query" nillable="true" type="xs:string" /> </xs:sequence> </xs:complexType></xs:element>

...and the same query string as the REST examples!

SDS Tools

.Net SQL Data Services SDK (Windows only)

Command line utility+ SSDS Explorer

SDS Documentation (not complete): http://msdn.microsoft.com/en-us/library/cc512417.aspx

.Net SQL Data Services SDK: http://www.microsoft.com/downloads/details.aspx?FamilyId=0B1FA5C6-EC9D-440B-939E-481DD05F2627&displaylang=en

Ruby SDK 3.part: http://github.com/sdsteam/sds-rest/tree/master

Roadmap

Åbenhed

Azure™ Services Platform