SQL Server® Data Services (SSDS) By: Sunil M. Kanta
Topics Covered • SSDS – Key features and benefits • SSDS – Data Model • SSDS – The ACE concept
SSDS - Key features and benefits •
SQL Server Data Service (SSDS) is a highly scalable and cost-effective on-demand data storage and query processing web service that internally uses SQL Server technology.
•
SSDS provides an easy-to-use, flexible data model that you access via industry standard protocols (SOAP and REST).
•
Regardless of whether you are developing with the Microsoft .NET Framework, Java, or other technologies, you can employ SSDS as your data store.
SSDS - Data Model •
Three-Level Containment Model (the "ACE" Concept) •
The SSDS data model offers a three-level containment model that includes authorities, containers and entities.
Authority
Container
Entity
SSDS – The ACE Concept • Authority •
An SSDS authority can be related to a database in the relational world. When you create an authority, SSDS will provide a DNS name for you to access the authority. The DNS name of an authority resolves to an IP address that maps to a specific data center.
• Container •
An authority contains a collection of containers - a container is similar to a table in a relational database. The key difference is that you attach a schema to a database table to make all rows in the table homogeneous. A container in SSDS does not require a schema, which allows you to store heterogeneous entities in one convenient location. It is simply a collection of entities. In the current release of SSDS, all queries are scoped to a single container.
• Entity •
An entity can be compared to a row in a table in a relational database. An entity is simply a property bag of name/value pairs. These name/value pairs are grouped into two categories: distinguished system properties and flexible properties.
SSDS - The ACE Concept Authority Container
Container
Entities
Entities
Container Entities
SSDS – The ACE Concept •
Distinguished system properties are common to all entities and include ID, Kind, and Version. • • •
•
ID uniquely identifies the entity. IDs must be unique within the container it exists in, but different containers can have entities with the same ID. Kind is used to categorize similar entities together. There is no schema attached to the entity, so having entities of the same Kind does not guarantee the same structure. Version is used to identify the current version of the entity. This value gets updated on each operation. Here it acts like a timestamp.
Flexible properties are where the developer stores the application data. Flexible properties support simple types: • • • • •
String Decimal Boolean Datetime Binary
Any Questions ?
Thank You!!