Essential Cloud Services

 

Blob Namespace

  • http://<account>.blob.core.windows.net/<container>/<blobname>
  • can be used as a hierarchical namespace
  • can be up to 50GB each
  • accessed via REST PUT/GET interface
  • includes continuation on upload scenario: blobs are broken up into blocks; if large file upload fails, it can resume without retrying successful blocks; PutBlockList commits the upload
  • under the covers, each blob consists of several immutable blocks (up to 4 Mb each)
  • if multiple blocks with the same ID are written, last in wins
  • blocks not associated with the blob on PutBlockList are garbage collected
  • future support: update, append, copy

Tables

  • provides structured scalable via ADO .NET data services
  • a table is a collectino of entities which have properties
  • every entity is uniquely identified by a partition key and the row key (composite identifier)
  • partition key: allows grouping of entities into table partition; exposed to allow control of the granularity of the table partitions
  • entities in the same partition will be stored together (entity locality); tables will be partitioned between servers based on cloud algorithm
  • choosing your partition key will be something of an art form; essentially, it needs to be a common subset of your query criteria but you want the load spread out across multiple partitions
  • basically, this is horizontal partitioning, with the implementation details abstracted away from the developer
  • an entity can have up to 255 properties, subject to the aforementioned mandatory  properties
  • entities with a table can have heterogeneous properties
  • every account has a master table called “Tables”

Queues

  • provide reliable message delivery between web roles and worker roles
  • messages can by up to 8Kb in size
  • have an “invisibility time” on dequeue; this is the duration within which you must call delete for the message to be deleted
  • otherwise, the message becomes visible again, allowing the message processing to be attempted again

Storage Durability

  • all data is replicated at least 3 times: concept of fault and upgrade domains; the replicas are stored in the same datacenter but in different domains
  • failover and load balancing provided; hot blobs are also cached

Print | posted @ Tuesday, October 28, 2008 7:35 PM

Comments on this entry:

No comments posted yet.

Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification: