Windows Azure Storage   SQL Data
Services
blobs
tables
          queues
Blobs


Tables


Queues
Account   Container     Blob

                      IMG001.JPG

           pictures
                      IMG002.JPG
  sal...
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-Lengt...
GET
http://dvd.blob.core.windows.net/movies/TheBlob.wmv
HTTP/1.1
Authorization: SharedKey dvd:
     RGllHMtzKMi4y/nedSk5Vn...
Account                Blob      Block
          Container
                      IMG001.
                        JPG
     ...
blobName = “TheBlob.wmv”;
             10 GB Movie
                                        PutBlock(blobName, blockId1, bl...
BlobName =
ExampleBlob.wmv   Block Id 4


                               Block Id 4
                               Block I...
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
 ...
… Property N
Partition Key Row Key Property 3
Document      Version Modification     Description
Name                  Tim...
[DataServiceKey(quot;PartitionKeyquot;, quot;RowKeyquot;)]
public class Customer
{
    // Partition key – Customer Last na...
Customer cust = new Customer(
 ‚Lee‛,                // Partition Key = Last Name
 ‚Geddy‛,              // Row Key = Firs...
DataServiceContext context = new
DataServiceContext(‚http://myaccount.table.core.windows.net‛);

var customers = from o in...
ServicePointManager.DefaultConnectionLimit = X;

ServicePointManager.Expect100Continue = false;



MergeOption = MergeOpti...
Blobs


Tables


Queues – Provide reliable storage and
delivery of messages for an application
Public internet

                       n                 m
                                Worker
            Web role
  ...
Account     Queue          Message


                           128x128,
                            http://…
          th...
queue
Producers                   Consumers

                                    1. Dequeue(Q, 30 sec)  msg 1
                 ...
Producers                Consumers

                                    1. Dequeue(Q, 30 sec)  msg 1
                    ...
Blobs
           Container
          http://<account>.blob.core.windows.net/<container>



               Table           ...
http://www.microsoft.com/azure/windowsazure.mspx
http://msdn.microsoft.com/en-us/azure/cc994380.aspx




     http://tweva...
Your feedback is important!
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Windows Azure Storage
Upcoming SlideShare
Loading in...5
×

Windows Azure Storage

991

Published on

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.

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
991
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
67
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Windows Azure Storage

  1. 1. Windows Azure Storage SQL Data Services
  2. 2. blobs tables queues
  3. 3. Blobs Tables Queues
  4. 4. Account Container Blob IMG001.JPG pictures IMG002.JPG sally movies MOV1.AVI
  5. 5. blob http://sally.blob.core.windows.net/music/rock/rush/xanadu.mp3
  6. 6. PutBlob GetBlob DeleteBlob
  7. 7. 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 ………
  8. 8. 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
  9. 9. Account Blob Block Container IMG001. JPG pictures IMG002. JPG sally Block 1 movies MOV1.AVI Block 2 Block 3
  10. 10. 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
  11. 11. 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
  12. 12. PutBlock PutBlockList GetBlockList
  13. 13. Blobs Tables – Provide structured storage. A table is a set of entities, which contain a set of properties Queues
  14. 14. Account Table Entity Name =… Email = … users Name =… Email = … sally Photo ID =… Date =… photo index Photo ID =… Date =…
  15. 15. … 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
  16. 16. [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; } }
  17. 17. 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();
  18. 18. 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’
  19. 19. ServicePointManager.DefaultConnectionLimit = X; ServicePointManager.Expect100Continue = false; MergeOption = MergeOption.NoTracking DataServiceContext.ResolveType
  20. 20. Blobs Tables Queues – Provide reliable storage and delivery of messages for an application
  21. 21. Public internet n m Worker Web role Q role Load balancer Cloud storage (tables, blobs, queues)
  22. 22. Account Queue Message 128x128, http://… thumbnail jobs 256x256, http://… sally http://… photo processing jobs http://…
  23. 23. queue
  24. 24. Producers Consumers 1. Dequeue(Q, 30 sec)  msg 1 C1 P2 4 3 2 1 C2 P1 2. Dequeue(Q, 30 sec)  msg 2
  25. 25. 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
  26. 26. 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>
  27. 27. http://www.microsoft.com/azure/windowsazure.mspx http://msdn.microsoft.com/en-us/azure/cc994380.aspx http://tweval.com/wa-storage/
  28. 28. Your feedback is important!
  29. 29. © 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.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×