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