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.
Storing data in the cloud<br />Eric Nelson<br />Microsoft UK<br />Email: eric.nelson@microsoft.com<br />Blog: http://geeks...
<ul><li>Storage in the Cloud
Queues
Blobs
Tables
Relational</li></ul>Agenda<br />
Storage in the Cloud…<br />Windows Azure Storage and SQL Azure<br />
Solve using the Cloud aka Windows Azure Platform<br />Browser<br />p1 p2 p3<br />Web Role<br />N L B<br />Worker Role<br /...
Solve using the Cloud aka Windows Azure Platform<br />SQLAzure<br />Browser<br />p1 p2 p3<br />Web Role<br />N L B<br />Wo...
3 Important Services<br />3 Critical Concepts<br />Windows Azure<br />Compute and Storage<br />SQL Azure<br />Storage<br /...
Blobs, Tables, Relational<br />
Queues<br />
Blobs, Tables, Relational<br />
Blobs, Tables, Relational<br />
Provides structured storage<br />Massively scalable tables (TBs of data)<br />Self scaling<br />Highly available<br />Dura...
No join<br />No group by<br />No order by<br />“No Schema”<br />Not a Relational Database<br />
Table<br />A Table is a set of Entities (rows)<br />An Entity is a set of Properties (columns)<br />Entity<br />Two “key” ...
Key Example – Blog Posts<br />Partition 1<br />Partition 2<br />Getting all of dunnry’s blog posts is fast<br />Single par...
Query a Table<br />REST:  <br />GET http://account.table.core.windows.net/Customer?$filter=%20PartitionKey%20eq%20value<br...
Demo:  Windows Azure Storage<br />
Lessons LearnedAzure Storage – Entity Group Transactions<br />Different Entity types in the same table<br />E.g. PK = Cust...
Blobs, Tables, Relational<br />
SQL Azure (July 2009)aka SQL Data Servicesaka SQL Server Data Services<br />
On Premise Programming Model<br />This is what we do on-premise...<br />Data<br />TDS<br />RDBMS<br />Client<br />SQL Serv...
Same for the cloud?  <br />So, is this is what we would like to do in the cloud...<br />Data<br />TDS<br />RDBMS<br />Clie...
SQL Azure can do this<br />Data<br />TDS<br />RDBMS<br />Client<br />SQL Azure<br />
SQL Azure can also do this<br />HTTP<br />TDS<br />RDBMS<br />Browser<br />Web Role<br />SQL Azure<br />
And this!<br />Queue<br />TDS<br />HTTP<br />RDBMS<br />Browser<br />Web Role<br />Worker Role<br />SQL Azure<br />
Which means you can easily migrate from this<br />“The Data Center”<br />TDS<br />HTTP<br />RDBMS<br />Browser<br />Web Ti...
To this… Windows Azure and SQL Azure<br />“The Cloud”<br />Queue<br />TDS<br />HTTP<br />RDBMS<br />Browser<br />Web Role<...
Demo:  SQL Azure<br />
Lessons LearnedSQL Azure<br />From the database “down” it’s just SQL Server<br />Well, almost …<br />Many tools don’t work...
Lessons LearnedSQL Azure<br />Tooling<br />SSMS partially works – “good enough”<br />Can not create connection using Visua...
Lessons LearnedSQL Azure<br />Types<br />No spatial or hierarchy id<br />No Text/images support.  <br />Use nvarchar(max)<...
Lessons LearnedSQL Azure<br />Development<br />No CLR<br />Local temp tables are allowed <br />Global temp tables are not ...
Lessons LearnedSQL Azure vs Windows Azure Tables<br />SQL Server is very familiar<br />SQL Azure *is* SQL Server in the cl...
Upcoming SlideShare
Loading in …5
×

Storage in the Windows Azure Platform - ericnel

2,388 views

Published on

Windows Azure Storage and SQL Azure. Delivered at UK Azure Net meeting 6th of Oct 2009

Published in: Technology
  • Be the first to comment

Storage in the Windows Azure Platform - ericnel

  1. 1. Storing data in the cloud<br />Eric Nelson<br />Microsoft UK<br />Email: eric.nelson@microsoft.com<br />Blog: http://geekswithblogs.net/iupdateable<br />Twitter: http://twitter.com/ericnel and http://twitter.com/ukmsdn<br />Podcast: http://bit.ly/msdnpodcast<br />Newsletter: http://msdn.microsoft.com/en-gb/flash<br />
  2. 2. <ul><li>Storage in the Cloud
  3. 3. Queues
  4. 4. Blobs
  5. 5. Tables
  6. 6. Relational</li></ul>Agenda<br />
  7. 7.
  8. 8. Storage in the Cloud…<br />Windows Azure Storage and SQL Azure<br />
  9. 9. Solve using the Cloud aka Windows Azure Platform<br />Browser<br />p1 p2 p3<br />Web Role<br />N L B<br />Worker Role<br />N L B<br />Browser<br />AzureStorage<br />Web Role<br />Browser<br />Worker Role<br />Worker Role<br />Browser<br />Web Role<br />Browser<br />You don’t see this bit<br />You don’t see this bit<br />You don’t see this bit<br />or…<br />Maybe you do<br />
  10. 10. Solve using the Cloud aka Windows Azure Platform<br />SQLAzure<br />Browser<br />p1 p2 p3<br />Web Role<br />N L B<br />Worker Role<br />N L B<br />Browser<br />AzureStorage<br />Web Role<br />Browser<br />Worker Role<br />Worker Role<br />Browser<br />Web Role<br />Browser<br />You don’t see this bit<br />You don’t see this bit<br />You don’t see this bit<br />Ok, you definitely do<br />
  11. 11. 3 Important Services<br />3 Critical Concepts<br />Windows Azure<br />Compute and Storage<br />SQL Azure<br />Storage<br />.NET Services<br />Connecting<br />Computation<br />Web and Worker<br />Storage<br />Table, Blob, Relational<br />Messaging<br />Queues, Service Bus<br />
  12. 12. Blobs, Tables, Relational<br />
  13. 13. Queues<br />
  14. 14. Blobs, Tables, Relational<br />
  15. 15. Blobs, Tables, Relational<br />
  16. 16. Provides structured storage<br />Massively scalable tables (TBs of data)<br />Self scaling<br />Highly available<br />Durable<br />Familiar and easy-to-use API, layered<br />.NET classes and LINQ<br />ADO.NET Data Services – .NET 3.5 SP1<br />REST – with any platform or language<br />Introduction to Tables<br />
  17. 17. No join<br />No group by<br />No order by<br />“No Schema”<br />Not a Relational Database<br />
  18. 18. Table<br />A Table is a set of Entities (rows)<br />An Entity is a set of Properties (columns)<br />Entity<br />Two “key” properties form unique ID<br />PartitionKey – enables scale<br />RowKey – uniquely ID within a partition<br />Data Model<br />
  19. 19. Key Example – Blog Posts<br />Partition 1<br />Partition 2<br />Getting all of dunnry’s blog posts is fast<br />Single partition<br />Getting all posts after 2008-03-27 is slow<br />Traverse all partitions<br />
  20. 20. Query a Table<br />REST: <br />GET http://account.table.core.windows.net/Customer?$filter=%20PartitionKey%20eq%20value<br />LINQ:<br />var customers = from o in context.CreateQuery&lt;customer&gt;(“Customer”) where o.PartitionKey == value select o;<br />Azure<br />Table Storage<br />Worker Role<br />http://account.table.core.windows.net<br />
  21. 21. Demo: Windows Azure Storage<br />
  22. 22. Lessons LearnedAzure Storage – Entity Group Transactions<br />Different Entity types in the same table<br />E.g. PK = CustomerId<br />Customer, Order and OrderDetails in the same table<br />
  23. 23. Blobs, Tables, Relational<br />
  24. 24. SQL Azure (July 2009)aka SQL Data Servicesaka SQL Server Data Services<br />
  25. 25. On Premise Programming Model<br />This is what we do on-premise...<br />Data<br />TDS<br />RDBMS<br />Client<br />SQL Server<br />
  26. 26. Same for the cloud? <br />So, is this is what we would like to do in the cloud...<br />Data<br />TDS<br />RDBMS<br />Client<br />SQL Server<br />
  27. 27. SQL Azure can do this<br />Data<br />TDS<br />RDBMS<br />Client<br />SQL Azure<br />
  28. 28. SQL Azure can also do this<br />HTTP<br />TDS<br />RDBMS<br />Browser<br />Web Role<br />SQL Azure<br />
  29. 29. And this!<br />Queue<br />TDS<br />HTTP<br />RDBMS<br />Browser<br />Web Role<br />Worker Role<br />SQL Azure<br />
  30. 30. Which means you can easily migrate from this<br />“The Data Center”<br />TDS<br />HTTP<br />RDBMS<br />Browser<br />Web Tier<br />Bus. Logic<br />SQL Server<br />
  31. 31. To this… Windows Azure and SQL Azure<br />“The Cloud”<br />Queue<br />TDS<br />HTTP<br />RDBMS<br />Browser<br />Web Role<br />Worker Role<br />SQL Azure<br />
  32. 32. Demo: SQL Azure<br />
  33. 33. Lessons LearnedSQL Azure<br />From the database “down” it’s just SQL Server<br />Well, almost …<br />Many tools don’t work today<br />System catalog is different<br />Above the database is taken care of for you<br />You can’t really change anything<br />
  34. 34. Lessons LearnedSQL Azure<br />Tooling<br />SSMS partially works – “good enough”<br />Can not create connection using Visual Studio designer<br />Other tools may work better<br />No BCP (currently)<br />DDL<br />Must be a clustered index on every table<br />No physical file placement<br />No indexed views<br />No “not for replication” constraint allowed<br />No Extended properties<br />Some index options missing (e.g. allow_row_locks, sort_in_tempdb ..)<br />No set ansi_nulls on<br />
  35. 35. Lessons LearnedSQL Azure<br />Types<br />No spatial or hierarchy id<br />No Text/images support. <br />Use nvarchar(max)<br />XML datatype and schema allowed but no XML index or schema collection.<br />Security<br />No integrated security<br />
  36. 36. Lessons LearnedSQL Azure<br />Development<br />No CLR<br />Local temp tables are allowed <br />Global temp tables are not allowed<br />Cannot alter database inside a connection<br />No UDDT’s<br />No ROWGUIDCOL column property<br />
  37. 37. Lessons LearnedSQL Azure vs Windows Azure Tables<br />SQL Server is very familiar<br />SQL Azure *is* SQL Server in the cloud<br />Windows Azure Storage is…very different <br />Make the right choice<br />Understand Azure storage<br />Understand SQL Azure<br />Understand they are totally different<br />You can use both<br />
  38. 38. Lessons Learned SQL Azure vs Windows Azure Tables<br />SQL Azure is not always the best storage option<br />SQL Azure costs more<br />Delivers a *lot* more functionality<br />SQL Azure is more limited on scale<br />
  39. 39. Lessons Learned SQL Azure and Sharding<br />Can be done<br />Many 10GB databases<br />Not fun <br />
  40. 40. In Summary<br />
  41. 41. Resources<br />Slides, links and more<br />http://geekswithblogs.net/iupdateable<br />Azure Training Kit (August update)<br />www.azure.com<br />Sign up, links to resources etc<br />http://www.cerebrata.com<br />

×