Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CodeStock June 26th SDS Demo


Published on

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

CodeStock June 26th SDS Demo

  1. 1. Aaron Stanley King<br />SQL Data ServicesJune 26th, 2009<br />
  2. 2. Microsoft SQL Data Services:<br />
  3. 3. Azure™ Services Platform:<br />
  4. 4. Our Goals for Today<br /><ul><li>Benefits of SDS
  5. 5. Features of SDS
  6. 6. SDS object model
  7. 7. SSDS Explorer
  8. 8. Demos, Demos, Demos!
  9. 9. How to query in SDS
  10. 10. More Demos!
  11. 11. Recent News
  12. 12. SDS Future
  13. 13. Questions and Answers
  14. 14. BASE vs. ACID ( time permitting )
  15. 15. Don’t you just love CTP? ( time permitting )</li></li></ul><li>What is SDS?<br /><ul><li>“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.”</li></li></ul><li>What is SDS really?<br /><ul><li>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.</li></li></ul><li>Benefits of SQL Data Services<br />
  16. 16. Robust SQL Server support<br />“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.”<br />
  17. 17. Ease of application development<br />“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.”<br />
  18. 18. Scalability<br />“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.”<br />
  19. 19. Availability<br />“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.”<br />
  20. 20. Security<br />“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.”<br />
  21. 21. Strong SLA<br />“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.”<br />
  22. 22. Flexible data storage<br />“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.”<br />
  23. 23. Benefits of SDS<br /><ul><li>Robust SQL Server support
  24. 24. Ease of application development
  25. 25. Scalability
  26. 26. Availability
  27. 27. Security
  28. 28. Strong SLA
  29. 29. Flexible data storage</li></li></ul><li>Features of SDS<br /><ul><li>WEB-base APIs facilitate faster development of Windows applications.
  30. 30. SDS provides UNLIMITED data storage capacity.
  31. 31. SDS uses a PAY-AS-YOU-GROW pricing strategy.
  32. 32. SDS supports encryption through SSL.</li></li></ul><li>SDS vs. SQL Server<br />SDS<br /><ul><li>Anytime from Any place
  33. 33. Failure of one server will not impact performance
  34. 34. Unlimited amount of data</li></ul>SQL Server<br /><ul><li>On-premise data platform
  35. 35. Single point of failure
  36. 36. Data is restricted by the software and hardware</li></li></ul><li>SDS Object Model<br /><ul><li>You will discover:
  37. 37. The ACE concept ( Yes, I know )
  38. 38. Uniform Resource Identifiers (URIs)
  39. 39. Authorities
  40. 40. Containers
  41. 41. Entities
  42. 42. Entity properties
  43. 43. SQL Data Services RDBMS Model
  44. 44. Recent News
  45. 45. BASE vs. ACID</li></li></ul><li>Type system is W3 Xml Schema<br /><ul><li>string
  46. 46. boolean
  47. 47. dateTime
  48. 48. decimal
  49. 49. base64Binary</li></ul>+<br /><ul><li> Blob</li></li></ul><li>The ACE concept<br />Authorities Containers Entities<br />
  50. 50. Authority<br />&lt;s:Authority xmlns:s=&quot;;&gt;<br /> &lt;s:Id&gt;heroes&lt;/s:Id&gt;<br />&lt;/s:Authority&gt;<br />
  51. 51. Container<br />&lt;s:Container xmlns:s=&quot;;&gt;<br /> &lt;s:Id&gt;people&lt;/s:Id&gt;<br />&lt;/s:Container&gt;<br />
  52. 52. Entities<br />&lt;Entity xmlns:xsi=&quot;; xmlns:x=&quot;; xmlns:s=&quot;;&gt;<br /> &lt;s:Id&gt;id234985798&lt;/s:Id&gt;<br /> &lt;kind xsi:type=&apos;x:string&apos;&gt;customer&lt;/kind&gt; <br /> &lt;firstname xsi:type=&apos;x:string&apos;&gt;Jens&lt;/firstname&gt;<br /> &lt;surname xsi:type=&apos;x:dateTime&apos;&gt;Jensen&lt;/surname&gt;<br /> &lt;status xsi:type=&apos;x:string&apos;&gt;Gold member&lt;status/&gt; <br />&lt;/Entity&gt;<br />
  53. 53. Entities<br />Or<br />&lt;customer xmlns:s=&apos;;<br /> xmlns:xsi=&apos;;<br /> xmlns:x=&apos;; &gt;<br /> &lt;s:Id&gt;id234985798&lt;/s:Id&gt; <br /> &lt;kind xsi:type=&apos;x:string&apos;&gt;customer&lt;/kind&gt; <br /> &lt;firstname xsi:type=&apos;x:string&apos;&gt;Jens&lt;/firstname&gt;<br /> &lt;surname xsi:type=&apos;x:dateTime&apos;&gt;Jensen&lt;/surname&gt;<br /> &lt;status xsi:type=&apos;x:string&apos;&gt;Gold member&lt;status/&gt; <br />&lt;/customer&gt;<br />
  54. 54. SSDS Explorer<br />C:Program FilesMicrosoft SQL Server Data Services SDKSsdsExplorer.exe<br />SELECT | INSERT | UPDATE / INSERT | DELETE<br />
  55. 55. How do I query SDS???<br />https://&lt;authority-id&gt;;container-id&gt;/&lt;entity-id&gt;<br />Comparison Operators<br />&gt;, &gt;=, &lt;, &lt;=, ==, !=<br />Logical operators<br />&& (and), || (or),! (not)<br />from e in entities select e<br />from e in entities where e.&lt;property&gt; == “&lt;value&gt;&quot; select e<br />Syntax difference - mandatory system entity metadata vs entity properties:<br />from e in entities where e.Id == &quot;id234985798&quot; select e <br />or<br />from e in entities where e[&quot;firstname&quot;] == &quot;Jens&quot; select e<br />
  56. 56. How do I query SDS???<br />Ofkind():<br />from e in entities.OfKind(”customer”) select e<br />Take():<br />(from e in entities where e[“firstname”] == “Jens&quot; select e).Take(10)<br /> Take(from e in entities.OfKind(“customer“) select e, 10)<br />Join support:<br />from c in entities.OfKind(“customer“) where c[“firstname&quot;] == “Jens&quot; from o in entities.OfKind(“order“) where o[“customerId&quot;] == c.Id select o<br />
  57. 57. Demo<br /><br />from e in entities where e[&quot;Team&quot;] == &quot;Justice League of America&quot; select e<br /><br />from e in entities where e[&quot;Team&quot;] == &quot;Justice League of America&quot; && e[&quot;Location&quot;] == &quot;New York City&quot; select e<br /><br />from h in entities where h[&quot;Location&quot;] == “Gotham City&quot; from v in entities where v[&quot;Name&quot;] == h[&quot;MainVillains&quot;] select v<br />
  58. 58. Demo<br /><br />from h in entities where h.Kind == &quot;Hero&quot; where h[&quot;Location&quot;] == &quot;New York City&quot; from v in entities where v.Kind == &quot;Villain&quot; where v[&quot;Name&quot;] == h[&quot;MainVillain&quot;] select v<br />
  59. 59. Recent News?<br />
  60. 60. Recent News?<br />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 ). <br />This means symmetric SQL Server functionality and behavior combined with compatibility with the existing tools you are familiar with. <br /> Tables?...Check<br /> Stored Procedures?...Check<br /> Triggers?...Check<br /> Views?...Check<br /> Indexes?...Check<br /> Visual Studio Compatibility?...Check<br />ADO.Net Compatibility?...Check<br /> ODBC Compatibility?...Check<br />
  61. 61. SQL Data Services RDBMS Model<br />
  62. 62. SQL Services Future?<br /> Database<br />Reporting<br /> Data Sync<br />Reference Data<br />ETL<br />Data Mining<br />
  63. 63.
  64. 64. Technology Independent<br />
  65. 65. Is there a market for SDS?<br />
  66. 66. Questions and Answers<br /><ul><li>
  67. 67. Website -
  68. 68. Twitter –
  69. 69. Phone – (317) 824-0393
  70. 70. Toll free – (800) 538-0453
  71. 71. Blog –
  72. 72. Twitter – </li></li></ul><li>BASE vs. ACID?<br />Basically Available, Soft state, Eventually consistent<br />vs. <br />Atomicity , Consistency, Isolation, Durability<br />