Upload
aaron-king
View
864
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Organizations often face challenges of managing data across several platforms and with often off-line users. SQL Server Data Services provides a easy means to tackle complicated data syncing scenarios. This talk will focus on the benefits, features, object model and ease of use of SQL Server Data Services. Learn how your projects can benefit from a hosted data storage and query processing service. See by example how to design your program to use SQL Server Data Services.
Citation preview
Aaron Stanley KingSQL Data Services
June 26th, 2009
Microsoft SQL Data Services:
Azure™ Services Platform:
•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
“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?
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?
Benefits of SQL Data Services
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.”
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.”
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.”
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.”
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.”
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.”
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.”
Benefits of SDS•Robust SQL Server support•Ease of application development•Scalability•Availability•Security•Strong SLA•Flexible data storage
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
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
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
Type system is W3 Xml Schema string boolean dateTime decimal base64Binary
+ Blob
The ACE concept
Authorities Containers Entities
Authority
<s:Authority xmlns:s="http://schemas.microsoft.com/sitka/2008/03/"> <s:Id>heroes</s:Id></s:Authority>
Container
<s:Container xmlns:s="http://schemas.microsoft.com/sitka/2008/03/"> <s:Id>people</s:Id></s:Container>
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>
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>
SSDS ExplorerC:\Program Files\Microsoft SQL Server Data Services SDK\SsdsExplorer.exe
SELECT | INSERT | UPDATE / INSERT | DELETE
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
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
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
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
Recent News?
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?
SQL Data Services RDBMS Model
SQL Services Future?
Database
Reference Data
Reporting
ETLData Mining
Data Sync
Is there a market for SDS?
Questions and Answers http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted 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
Basically Available, Soft state, Eventually consistent
vs.
Atomicity , Consistency, Isolation, Durability
BASE vs. ACID?