• Like
  • Save
Windows Azure Storage
Upcoming SlideShare
Loading in...5

Windows Azure Storage



Come hear about the highly available and massively scalable cloud storage service that is provided by Windows Azure. Learn how to create and access the different types of Windows Azure storage ...

Come hear about the highly available and massively scalable cloud storage service that is provided by Windows Azure. Learn how to create and access the different types of Windows Azure storage available, including blobs, tables, and queues.



Total Views
Views on SlideShare
Embed Views



2 Embeds 2

http://www.slideshare.net 1
http://www.slideee.com 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Windows Azure Storage Windows Azure Storage Presentation Transcript

    • Windows Azure Storage SQL Data Services
    • blobs tables queues
    • Blobs Tables Queues
    • Account Container Blob IMG001.JPG pictures IMG002.JPG sally movies MOV1.AVI
    • blob http://sally.blob.core.windows.net/music/rock/rush/xanadu.mp3
    • PutBlob GetBlob DeleteBlob
    • Account Container Blob Name PUT http://dvd.blob.core.windows.net/movies/TheBlob.wmv HTTP/1.1 Content-Length: 10000000000 Content-Type: binary/octet-stream x-ms-meta-year:1958 x-ms-meta-tagline:Beware%20of%20the%20Blob Content-MD5: HUXZLQLMuI/KZ5KDcJPcOA== x-ms-date: Mon, 27 Oct 2008 17:00:25 GMT Authorization: SharedKey dvd: F5a+dUDvef+PfMb4T8Rc2jHcwfK58KecSZY+l2naIao= ……… Blob Data Contents ………
    • GET http://dvd.blob.core.windows.net/movies/TheBlob.wmv HTTP/1.1 Authorization: SharedKey dvd: RGllHMtzKMi4y/nedSk5Vn74IU6/fRMwiPsL+uYSDjY= x-ms-date: Mon, 27 Oct 2008 17:00:25 GMT GET http://dvd.blob.core.windows.net/movies/TheBlob.wmv HTTP/1.1 Range: bytes=1024000-2048000
    • Account Blob Block Container IMG001. JPG pictures IMG002. JPG sally Block 1 movies MOV1.AVI Block 2 Block 3
    • blobName = “TheBlob.wmv”; 10 GB Movie PutBlock(blobName, blockId1, block1Bits); Block Id 2 Block Id N Block Id 1 Block Id 3 PutBlock(blobName, blockId2, block2Bits); ………… PutBlock(blobName, blockIdN, blockNBits); PutBlockList(blobName, blockId1,…,blockIdN); TheBlob.wmv Windows Azure Storage
    • BlobName = ExampleBlob.wmv Block Id 4 Block Id 4 Block Id 2 Block Id 1 Block Id 3 Sequence of Operations PutBlock BlockId1 PutBlock BlockId3 PutBlock BlockId4 PutBlock BlockId2 PutBlock BlockId4 Block Id 2 Block Id 3 Block Id 4 PutBlockList BlockId2, BlockId3, BlockId4 Committed and readable version of blob
    • PutBlock PutBlockList GetBlockList
    • Blobs Tables – Provide structured storage. A table is a set of entities, which contain a set of properties Queues
    • Account Table Entity Name =… Email = … users Name =… Email = … sally Photo ID =… Date =… photo index Photo ID =… Date =…
    • … Property N Partition Key Row Key Property 3 Document Version Modification Description Name Time … Committed version Example Doc V1.0 8/2/2007 Partition Alice’s working version Example Doc V2.0.1 9/28/2007 1 FAQ Doc V1.0 5/2/2007 Committed version Alice’s working version Partition FAQ Doc V1.0.1 7/6/2007 2 Sally’s working version FAQ Doc V1.0.2 8/1/2007
    • [DataServiceKey(quot;PartitionKeyquot;, quot;RowKeyquot;)] public class Customer { // Partition key – Customer Last name public string PartitionKey { get; set; } // Row Key – Customer First name public string RowKey { get; set; } // User defined properties here public DateTime CustomerSince { get; set; } public double Rating { get; set; } public string Occupation { get; set; } }
    • Customer cust = new Customer( ‚Lee‛, // Partition Key = Last Name ‚Geddy‛, // Row Key = First Name DateTime.UtcNow, // Customer Since 2.0, // Rating ‚Engineer‛ // Occupation); // Service Uri is ‚http://<Account>.table.core.windows.net/‛ DataServiceContext context = new DataServiceContext(serviceUri); context.AddObject(‚Customer‛, cust); DataServiceResponse response = context.SaveChanges();
    • DataServiceContext context = new DataServiceContext(‚http://myaccount.table.core.windows.net‛); var customers = from o in context.CreateQuery<Customer>(‚Customer‛) where o.PartitionKey == ‚Lee‛ select o; foreach (Customer customer in customers) { } GET http://myaccount.table.core.windows.net/Customer? $filter= PartitionKey eq ‘Lee’
    • ServicePointManager.DefaultConnectionLimit = X; ServicePointManager.Expect100Continue = false; MergeOption = MergeOption.NoTracking DataServiceContext.ResolveType
    • Blobs Tables Queues – Provide reliable storage and delivery of messages for an application
    • Public internet n m Worker Web role Q role Load balancer Cloud storage (tables, blobs, queues)
    • Account Queue Message 128x128, http://… thumbnail jobs 256x256, http://… sally http://… photo processing jobs http://…
    • queue
    • Producers Consumers 1. Dequeue(Q, 30 sec)  msg 1 C1 P2 4 3 2 1 C2 P1 2. Dequeue(Q, 30 sec)  msg 2
    • Producers Consumers 1. Dequeue(Q, 30 sec)  msg 1 1 C1 P2 5. C1 crashed 6. msg1 visible 30 seconds after Dequeue 43 3 2 1 2 C2 P1 2. Dequeue(Q, 30 sec)  msg 2 3. C2 consumed msg 2 4. Delete(Q, msg 2) 7. Dequeue(Q, 30 sec)  msg 1
    • Blobs Container http://<account>.blob.core.windows.net/<container> Table Entities Account http://<account>.table.core.windows.net/<table> Queue Messages http://<account>.queue.core.windows.net/<queue>
    • http://www.microsoft.com/azure/windowsazure.mspx http://msdn.microsoft.com/en-us/azure/cc994380.aspx http://tweval.com/wa-storage/
    • Your feedback is important!
    • © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.