Storage in the Windows Azure Platform - ericnel

  • 1,916 views
Uploaded 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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,916
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
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