Your SlideShare is downloading. ×
0
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Storage in the Windows Azure Platform - ericnel

1,984

Published on

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

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,984
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
92
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Partition Key – how data is partitionedRow Key – unique in partition, defines sortGoalsKeep partitions small (increased scalability)Specify partition key in common queriesQuery/sort on row key
  • Each Table: PartitionKey (e.g. DocumentName) to ensure scalabilityRowKey (e.g. version number)[fields] for data
  • Transcript

    • 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. <ul><li>Storage in the Cloud
    • 3. Queues
    • 4. Blobs
    • 5. Tables
    • 6. Relational</li></ul>Agenda<br />
    • 7.
    • 8. Storage in the Cloud…<br />Windows Azure Storage and SQL Azure<br />
    • 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. 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. 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. Blobs, Tables, Relational<br />
    • 13. Queues<br />
    • 14. Blobs, Tables, Relational<br />
    • 15. Blobs, Tables, Relational<br />
    • 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. No join<br />No group by<br />No order by<br />“No Schema”<br />Not a Relational Database<br />
    • 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. 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. 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. Demo: Windows Azure Storage<br />
    • 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. Blobs, Tables, Relational<br />
    • 24. SQL Azure (July 2009)aka SQL Data Servicesaka SQL Server Data Services<br />
    • 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. 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. SQL Azure can do this<br />Data<br />TDS<br />RDBMS<br />Client<br />SQL Azure<br />
    • 28. SQL Azure can also do this<br />HTTP<br />TDS<br />RDBMS<br />Browser<br />Web Role<br />SQL Azure<br />
    • 29. And this!<br />Queue<br />TDS<br />HTTP<br />RDBMS<br />Browser<br />Web Role<br />Worker Role<br />SQL Azure<br />
    • 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. 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. Demo: SQL Azure<br />
    • 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. 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. 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. 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. 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. 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. Lessons Learned SQL Azure and Sharding<br />Can be done<br />Many 10GB databases<br />Not fun <br />
    • 40. In Summary<br />
    • 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 />

    ×