Your SlideShare is downloading. ×
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,954
views

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