SQL Server Data Services - SSDS
SQL Server Data Services - SSDS
• 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!!