CodeStock June 26th SDS Demo
Upcoming SlideShare
Loading in...5
×
 

CodeStock June 26th SDS Demo

on

  • 826 views

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

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.

Statistics

Views

Total Views
826
Views on SlideShare
811
Embed Views
15

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 15

http://www.aaronstanleyking.com 15

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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.
  • 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. SDS extends the services and advantages of SQL Server over the cloud, or the Internet. This leads to tremendous benefits for customers, who can access the data they require at any time and from anywhere. SDS is ideal for organizations seeking reduced capital investment for storing and maintaining data. It also benefits enterprises using applications that collaborate on large data clusters. SDS aims at satisfying the ever-expanding needs of organizations by providing solutions to enhance storage capability. Organizations can use SDS to store multiple types of data. SDS provides optimal storage solutions for archival and reference data. To increase the business benefits to its customers, Microsoft offers them a strong service level agreement (SLA). This SLA ensures high availability, performance, and data protection.SDS supports a flexible database architecture and development environment, which eases application development. It communicates with applications using standard protocols like Simple Object Access Protocol (SOAP) and Representational State Transfer (REST). You can access and modify data using a text-based query language. This language uses Language-Integrated Query (LINQ) with C# or other languages such as VB.NET, Java, or Ruby. In addition, SDS allows you to create and modify the accounts using a Web-based interface.
  • SDS essentially is a computing service. It is supported by groups of connected servers, which customers can access through the Internet. These servers are usually distributed across multiple data centers to increase availability.When customers sign up for SDS, they each create a Domain Name System (DNS) name. This DNS name maps to a specific IP address, which in turn maps to a specific data center.When a customer submits a query to SDS through an application, the query is transferred to the assigned data center via Hypertext Transfer Protocol (HTTP). The query is then processed by the servers in the data center, and the requested data is sent back to the application. The transmitted data is encrypted by SSL in order to ensure privacy.
  • SDS has several advantages over traditional SQL Server technology. Because SDS is a hosted service, it is accessible at any time and from any place. SQL Server is an on-premise data platform. Therefore, it has limitations in terms of accessibility.Further, SDS is supported by a large number of data centers, with each data center featuring a group of servers. Therefore, a request from a customer is served by a group of servers. This means that a workload can be distributed across multiple servers. Consequently, a sudden increase in workload or the failure of one server will not impact the performance of an application.On the other hand, a request to SQL Server is usually handled by a single server instance. Therefore, an increase in the workload or server failure could affect the smooth performance of the application.Given the multiple server support, SDS can support virtually an unlimited amount of data.However, the amount of data SQL Server can support is restricted by limitations in terms of software and hardware.
  • The SDS object model has a hierarchical structure, which is based on what is called the ACE concept. ACE refers to the three levels in the hierarchical structure: authorities, containers, and entities.An authority is the highest level of containment within the ACE concept. After you have signed into SDS, you begin by creating an authority. You can create and own any number of authorities.An authority is represented by a DNS name. For example, you can create an authority called litware.data.beta.mssds.com. Here, litware is the name of the authority, and data.beta.mssds.com is the name of the SDS service. The DNS name of an authority is mapped to the IP address of a specific data center.An authority may contain zero or more containers. A container is the largest logical unit of data used for query and update operations. It is assigned a unique ID. A container stores data in the form of entities. It can store zero or more entities of various types without any dependence on a container schema.You can have either homogeneous or heterogeneous containment, depending on your application. In homogeneous containment, you can save only one type of entity within a container. Whereas, in heterogeneous containment, you can save several types of entities within a single container.An entity is the smallest object that you can update. It can store any number of user-defined properties and their corresponding values. Because entities are stored as property-value pairs, SDS does not require them to have any fixed schema. You can retrieve an entire entity; add, update, or delete its properties; or replace the original entity. In the current version of SDS, you cannot partially update entities.SDS also supports special entities called BLOBs. BLOBs store nonprimitive data, such as binary data, image files, or audio files. The current version of SDS supports BLOBs in the REST protocol. Later versions will also provide support for SOAP.The authority and its related data, such as containers and entities, are stored in the same data center.
  • The SDS object model has a hierarchical structure, which is based on what is called the ACE concept. ACE refers to the three levels in the hierarchical structure: authorities, containers, and entities.An authority is the highest level of containment within the ACE concept. After you have signed into SDS, you begin by creating an authority. You can create and own any number of authorities.An authority is represented by a DNS name. For example, you can create an authority called litware.data.beta.mssds.com. Here, litware is the name of the authority, and data.beta.mssds.com is the name of the SDS service. The DNS name of an authority is mapped to the IP address of a specific data center.An authority may contain zero or more containers. A container is the largest logical unit of data used for query and update operations. It is assigned a unique ID. A container stores data in the form of entities. It can store zero or more entities of various types without any dependence on a container schema.You can have either homogeneous or heterogeneous containment, depending on your application. In homogeneous containment, you can save only one type of entity within a container. Whereas, in heterogeneous containment, you can save several types of entities within a single container.An entity is the smallest object that you can update. It can store any number of user-defined properties and their corresponding values. Because entities are stored as property-value pairs, SDS does not require them to have any fixed schema. You can retrieve an entire entity; add, update, or delete its properties; or replace the original entity. In the current version of SDS, you cannot partially update entities.SDS also supports special entities called BLOBs. BLOBs store nonprimitive data, such as binary data, image files, or audio files. The current version of SDS supports BLOBs in the REST protocol. Later versions will also provide support for SOAP.The authority and its related data, such as containers and entities, are stored in the same data center.
  • Deleting authorities isn’t supported.
  • Authority Deletion is not supported yet.
  • Authority Deletion is not supported yet. Cross Container Joins.. Not supported.

CodeStock June 26th SDS Demo CodeStock June 26th SDS Demo Presentation Transcript

  • Aaron Stanley King
    SQL Data ServicesJune 26th, 2009
  • Microsoft SQL Data Services:
  • Azure™ Services Platform:
  • 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 )
  • What is SDS?
    • “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 really?
    • 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.
  • 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
  • Features of SDS
    • 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.
  • 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
  • SDS Object Model
    • 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
  • 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>
  • Entities
    Or
    <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 Explorer
    C:Program FilesMicrosoft SQL Server Data Services SDKSsdsExplorer.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
    or
    from 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
  • Demo
    https://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
  • Demo
    https://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?
  • 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?...Check
    Stored Procedures?...Check
    Triggers?...Check
    Views?...Check
    Indexes?...Check
    Visual Studio Compatibility?...Check
    ADO.Net Compatibility?...Check
    ODBC Compatibility?...Check
  • SQL Data Services RDBMS Model
  • SQL Services Future?
    Database
    Reporting
    Data Sync
    Reference Data
    ETL
    Data Mining
  • Technology Independent
  • 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
  • BASE vs. ACID?
    Basically Available, Soft state, Eventually consistent
    vs.
    Atomicity , Consistency, Isolation, Durability