38
Aaron Stanley King SQL Data Services May 16 th , 2009

IndyCodeCamp SDS May 16th 2009

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: IndyCodeCamp SDS May 16th 2009

Aaron Stanley KingSQL Data Services

May 16th, 2009

Page 2: IndyCodeCamp SDS May 16th 2009

Microsoft SQL Data Services:

Page 3: IndyCodeCamp SDS May 16th 2009

Azure™ Services Platform:

Page 4: IndyCodeCamp SDS May 16th 2009

•Benefits of SDS•Features of SDS•SDS object model•SSDS Explorer•Demos, Demos, Demos!•How to query in SDS•More Demos!•Recent News•SDS Future•Questions and Answers•BASE vs. ACID ( time permitting )•Don’t you just love CTP? ( time permitting )

Our Goals for Today

Page 5: IndyCodeCamp SDS May 16th 2009

“SQL Data Services is a scalable and cost-effective on-demand data storage and query processing service. SDS is a hosted application build on robust Microsoft SQL Server database and Windows Server technologies.”

What is SDS?

Page 6: IndyCodeCamp SDS May 16th 2009

SDS is your data hosted by Microsoft with a strong service level agreement (SLA). The SLA not only ensures high availability but also performance and protection.

What is SDS really?

Page 7: IndyCodeCamp SDS May 16th 2009

Benefits of SQL Data Services

Page 8: IndyCodeCamp SDS May 16th 2009

Robust SQL Server support

“SDS is built on robust SQL Server database technologies.Therefore, it benefits from the advantages of SQL Server,which is a broad data platform that can handle all types ofdata, from creation to archival.”

Page 9: IndyCodeCamp SDS May 16th 2009

Ease of application development

“SDS facilitates application development. It uses Web-basedapplication programming interfaces (APIs), which support fasterdevelopment of Windows applications. SDS uses protocols suchas REST and SOAP with XML to communicatewith applications. Its flexible datamodel supports any programminglanguage.”

Page 10: IndyCodeCamp SDS May 16th 2009

Scalability

“The SDS database structure is flexible and scales according tobusiness needs. The service is supported by multiple servers.Therefore, it has the ability to provide any required storage capacity. Also, there is no time delay due to server provisioning. The data is partitionedto meet these requirements.”

Page 11: IndyCodeCamp SDS May 16th 2009

Availability

“Because SDS is accessible via the Internet, it ensures the availability of data to users in any geographic location. Further, SDS uses enterprise-grade hardware and program code, which are optimized for high throughput.”

Page 12: IndyCodeCamp SDS May 16th 2009

Security

“SDS provides organizations with secure data access and confidentiality. It is built on a relational database architecture that includes data protection. With SDS, multiple copies of data that you create or modify are stored across geographically distributed data centers. This ensures thesafety of your data in the event of anydisaster.”

Page 13: IndyCodeCamp SDS May 16th 2009

Strong SLA

“SDS provides you with a strong SLA that assures high availability, guaranteed performance, data protection, compliance, enterprise-level security features, and real-time mirrored database replication.”

Page 14: IndyCodeCamp SDS May 16th 2009

Flexible data storage

“You can upload and query structured data, semi-structured data, and unstructured data. You can associate entities with large unstructured data objects called binary large objects (BLOBs). These BLOBs can be accessed through a URL.”

Page 15: IndyCodeCamp SDS May 16th 2009

Benefits of SDS•Robust SQL Server support•Ease of application development•Scalability•Availability•Security•Strong SLA•Flexible data storage

Page 16: IndyCodeCamp SDS May 16th 2009

WEB-base APIs facilitate faster development of Windows applications.

SDS provides UNLIMITED data storage capacity.

SDS uses a PAY-AS-YOU-GROW pricing strategy.

SDS supports encryption through SSL.

Features of SDS

Page 17: IndyCodeCamp SDS May 16th 2009

SDS• Anytime from Any place• Failure of one server will

not impact performance• Unlimited amount of data

SQL Server• On-premise data platform• Single point of failure• Data is restricted by the

software and hardware

SDS vs. SQL Server

Page 18: IndyCodeCamp SDS May 16th 2009

You will discover:

◦ The ACE concept ( Yes, I know )◦ Uniform Resource Identifiers (URIs)◦ Authorities◦ Containers◦ Entities◦ Entity properties◦ SQL Data Services RDBMS Model◦ Recent News◦ BASE vs. ACID

SDS Object Model

Page 19: IndyCodeCamp SDS May 16th 2009

Type system is W3 Xml Schema string boolean dateTime decimal base64Binary

+ Blob

Page 20: IndyCodeCamp SDS May 16th 2009

The ACE concept

Authorities Containers Entities

Page 21: IndyCodeCamp SDS May 16th 2009

Authority

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

Page 22: IndyCodeCamp SDS May 16th 2009

Container

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

Page 23: IndyCodeCamp SDS May 16th 2009

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>

Page 24: IndyCodeCamp SDS May 16th 2009

EntitiesOr

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

Page 25: IndyCodeCamp SDS May 16th 2009

SSDS ExplorerC:\Program Files\Microsoft SQL Server Data Services SDK\SsdsExplorer.exe

SELECT | INSERT | UPDATE / INSERT | DELETE

Page 26: IndyCodeCamp SDS May 16th 2009

How do I query SDS???https://<authority-id>.data.database.windows.net/v1/<container-id>/<entity-id>

Comparison Operators>, >=, <, <=, ==, !=

Logical operators&& (and), || (or),! (not)

from e in entities select e

from e in entities where e.<property> == \“<value>\" select e

Syntax difference - mandatory system entity metadata vs entity properties:from e in entities where e.Id == "id234985798" select e

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

Page 27: IndyCodeCamp SDS May 16th 2009

How do I query SDS???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

Page 28: IndyCodeCamp SDS May 16th 2009

Demohttps://comics.data.database.windows.net/v1/Heroes

from e in entities where e["Team"] == "Justice League of America" select e

https://comics.data.database.windows.net/v1/Heroes/10

from e in entities where e["Team"] == "Justice League of America" && e["Location"] == "New York City" select e

https://comics.data.database.windows.net/v1/Villains

from h in entities where h["Location"] == “Gotham City" from v in entities where v["Name"] == h["MainVillains"] select v

Page 29: IndyCodeCamp SDS May 16th 2009

Demohttps://heroes.data.database.windows.net/v1/people

from h in entities where h.Kind == "Hero" where h["Location"] == "New York City" from v in entities where v.Kind == "Villain" where v["Name"] == h["MainVillain"] select v

Page 30: IndyCodeCamp SDS May 16th 2009

Recent News?

Page 31: IndyCodeCamp SDS May 16th 2009

On March 10th, Microsoft announced the details of the plans to accelerate the delivery of core relational database features as part of SDS. They are phasing our ACE and the current model for a more direct interface to TDS ( Tabular Data Stream ).

This means symmetric SQL Server functionality and behavior combined with compatibility with the existing tools you are familiar with.

Tables?...CheckStored Procedures?...CheckTriggers?...CheckViews?...CheckIndexes?...CheckVisual Studio Compatibility?...CheckADO.Net Compatibility?...CheckODBC Compatibility?...Check

Recent News?

Page 32: IndyCodeCamp SDS May 16th 2009

SQL Data Services RDBMS Model

Page 33: IndyCodeCamp SDS May 16th 2009

SQL Services Future?

Database

Reference Data

Reporting

ETLData Mining

Data Sync

Page 34: IndyCodeCamp SDS May 16th 2009
Page 36: IndyCodeCamp SDS May 16th 2009

Is there a market for SDS?

Page 37: IndyCodeCamp SDS May 16th 2009

Questions and Answers Website - http://perptech.com Twitter – http://twitter.com/perpetualtech Phone – (317) 824-0393 Toll free – (800) 538-0453

Blog – http://aaronstanleyking.com Twitter – http://twitter.com/trendoid

Page 38: IndyCodeCamp SDS May 16th 2009

Basically Available, Soft state, Eventually consistent

vs.

Atomicity , Consistency, Isolation, Durability

BASE vs. ACID?