COS304
Agenda
Cloud Storage System Scalable Durable Highly Available Pay for what you use
Account Container Blobs Table Entities Queue Messages
demo
Block 1 Block 5 Block 3 Block 2 Block 4 Block 3 Block 2 Local file Cloud blob Block 1
demo Goals By default – authentication required Public containers – everyone has read access SAS – share url with subset without sharing your key!
A ID=1 BB ID=2 Base blob = alphabets.txt #1 snapshot= T19:26: Z A ID=1 BB ID=2
A ID=1 BB ID=2 Base blob = alphabets.txt CCC ID=3 #2 snapshot= T19:26: Z A ID=1 BB ID=2 CCC ID=3 #1 snapshot= T19:26: Z A ID=1 BB ID=2 A ID=1 BB ID=2 Base blob = alphabets.txt
A ID=1 BB ID=2 Base blob = alphabets.txt CCC ID=3 #3 snapshot= T19:28: Z BB ID=2 CCC ID=3 A ID=1 A #2 snapshot= T19:26: Z A ID=1 BB ID=2 CCC ID=3 #1 snapshot= T19:26: Z A ID=1 BB ID=2
demo
Agenda
Single Queue/Table Partition Up to 500 transactions (entities or messages) per second Single Blob Partition Throughput up to 60 MB/s Storage Account SLA – 99.9% Availability Capacity – Up to 100 TBs Transactions – Up to 5000 entities per second Bandwidth – Up to 3 gigabits per second
Distribute traffic to multiple partitions Use multiple storage accounts When limit is hit, app may see frequent ‘503 server busy’; applications should implement exponential back-off
Storage Partitioning – How to Scale? Understanding partitioning is key to understanding scale Different for each data type (blobs, entities, queues) Every data object has a partition key A partition can be served by a single server System load balances partitions based on traffic Partition key is unit of scale Load balancing can take a few minutes to kick in Can take a couple of seconds for partition to be available on a different server System load balances Our system load balances to meet your traffic needs Single partition limits have been reached Use exponential back-off on “Server Busy” Server Busy
Distributed File System VIP - Partition - Server Load Legend
Partition Keys In Each Abstraction Every blob and its snapshots are in a single partition Blobs – Container name + Blob name
Partition Keys In Each Abstraction Entities with same PartitionKey value are served from same partition Entities – TableName + PartitionKey
Partition Keys In Each Abstraction All messages for a single queue belong to the same partition Messages – Queue Name
Sessions On-Demand & CommunityMicrosoft Certification & Training Resources Resources for IT ProfessionalsResources for Developers Connect. Share. Discuss.
Scan the Tag to evaluate this session now on myTechEd Mobile