4. Our Goals for Today
•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 )
5. “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.”
6. 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.
7.
8. “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 of
data, from creation to archival.”
9. “SDS facilitates application development. It uses Web-based
application programming interfaces (APIs), which support faster
development of Windows applications. SDS uses protocols such
as REST and SOAP with XML to communicate
with applications. Its flexible data
model supports any programming
language.”
10. “The SDS database structure is flexible and scales according to
business 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 partitioned
to meet these requirements.”
11. “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.”
12. “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 the
safety of your data in the event of any
disaster.”
13. “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.”
14. “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.”
15. •Robust SQL Server support
•Ease of application development
•Scalability
•Availability
•Security
•Strong SLA
•Flexible data storage
16. 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.
17. SDS vs. SQL Server
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
18. 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
25. C:Program FilesMicrosoft SQL Server Data Services SDKSsdsExplorer.exe
SELECT | INSERT | UPDATE / INSERT | DELETE
26. 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>quot; select e
Syntax difference - mandatory system entity metadata vs entity properties:
from e in entities where e.Id == quot;id234985798quot; select e
or
from e in entities where e[quot;firstnamequot;] == quot;Jensquot; select e
27. Ofkind():
from e in entities.OfKind(”customer”) select e
Take():
(from e in entities where e*“firstname”+ == “Jensquot; select e).Take(10)
Take(from e in entities.OfKind(“customer“) select e, 10)
Join support:
from c in entities.OfKind(“customer“) where c*“firstnamequot;+ == “Jensquot; from o
in entities.OfKind(“order“) where o*“customerIdquot;] == c.Id select o
28. https://comics.data.database.windows.net/v1/Heroes
from e in entities where e[quot;Teamquot;] == quot;Justice League of Americaquot; select e
https://comics.data.database.windows.net/v1/Heroes/10
from e in entities where e[quot;Teamquot;] == quot;Justice League of Americaquot; &&
e[quot;Locationquot;] == quot;New York Cityquot; select e
https://comics.data.database.windows.net/v1/Villains
from h in entities where h[quot;Locationquot;] == “Gotham Cityquot; from v in entities
where v[quot;Namequot;] == h[quot;MainVillainsquot;] select v
29. https://heroes.data.database.windows.net/v1/people
from h in entities where h.Kind == quot;Heroquot; where h[quot;Locationquot;] == quot;New York
Cityquot; from v in entities where v.Kind == quot;Villainquot; where v[quot;Namequot;] ==
h[quot;MainVillainquot;] select v
30.
31. 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?...Check
Stored Procedures?...Check
Triggers?...Check
Views?...Check
Indexes?...Check
Visual Studio Compatibility?...Check
ADO.Net Compatibility?...Check
ODBC Compatibility?...Check
38. Basically Available, Soft state, Eventually consistent
vs.
Atomicity , Consistency, Isolation, Durability
Notas del editor
Organizations often face challenges in managing their IT infrastructure when they are growing rapidly. In such situations, they may need to increase their data storage capabilities. Consequently, a large amount of time is spent in ramping up server capacity. This leads to increased installation and maintenance costs. SDS is a Software as a Service (SaaS) product, which helps organizations overcome these challenges.
Cross container queries are not supported. When specifying JOIN all the entities being joined must be in one container.The queries don't support projection. This means you cannot return The query result always returns entire entities.You can non-equijoin. That is the join condition can use operators other than equality operator. If you don't sepcify the join condition, you get cartesian product. That is all possible combination of the two sets.
Cross container queries are not supported. When specifying JOIN all the entities being joined must be in one container.The queries don't support projection. This means you cannot return The query result always returns entire entities.You can non-equijoin. That is the join condition can use operators other than equality operator. If you don't sepcify the join condition, you get cartesian product. That is all possible combination of the two sets.
TDS stands for Tabular Data Stream and it's the published protocol that clients use to communicate with SQL Server. SDS has always been built on the SQL Server technology foundation and it just made sense to allow our users to access their data via TDS. Azure will still use ACE for it’s Azure Storage but if your are just using SDS it will not be supported.
SQL Data Services (SDS) is the relational database offering for the Azure Services Platform. SDS exposes these relational capabilities through the existing network protocol, Tabular Data Stream (TDS). TDS is the underlying protocol used by all SQL Server client libraries such as ADO.NET, ODBC and all other third party and open source access libraries. The use of the existing protocol enables the service to extend the SQL data platform to the cloud while maintaining symmetry with the existing SQL Server applications models.SDS offers friction-free provisioning allowing customers to create databases without having to worry about hardware and software procurement, setup or maintenance. SDS also ensures high availability and fault tolerance. The pay as you grow model provides unlimited scale at low cost.TDS access to the database services allows customer applications to communicate with the service using existing client libraries (such as ADO.NET, ODBC or JDBC). The relational model described in this topic replaces the SDS ACE (Authority, Container and Entity) model. The current SDS CTP participants have the following options: Migrate existing applications to use the SDS relational service. Customers can optionally host their applications in Azure Compute. Use Windows Azure Storage for applications that don’t need relational capabilitiesThe SDS ACE model, with SOAP and REST interfaces, is being phased out.
TDS stands for Tabular Data Stream and it's the published protocol that clients use to communicate with SQL Server. SDS has always been built on the SQL Server technology foundation and it just made sense to allow our users to access their data via TDS. Azure will still use ACE for it’s Azure Storage but if your are just using SDS it will not be supported.
TDS stands for Tabular Data Stream and it's the published protocol that clients use to communicate with SQL Server. SDS has always been built on the SQL Server technology foundation and it just made sense to allow our users to access their data via TDS. Azure will still use ACE for it’s Azure Storage but if your are just using SDS it will not be supported.
ACIDAtomicity - all parts of a transaction succeed or none of then succeed. Integrity.Consistency - Nothing in your transaction will violate the rules of the database. Integrity.Isolation - Each transaction operates independently of every other transaction.Durability - Once the database says that data is committed there is no opportunity for that to be undoneBASE is Basically Available, Soft state, Eventually consistent. (An Amazon Machine Image (AMI) is just a linux virtual machine running on a server somewhere. )