WINDOWS AZURE STORAGE11 de Mayo, 2011
Gisela Torres – Windows Azure MVPAventia-Renacimientowww.returngis.netE-mail: [email protected]: http://www.twitter.com/0gis0
WINDOWS AZURE STORAGE
SERVICES
Storage
DURABLE STORAGE, AT MASSIVE SCALE
Slide 4
Blob- Massive files e.g. videos, logs
Drive- Use standard file system APIs
Tables- Non-relational, but with few scale limits- Use SQL Azure for relational data
Queues- Facilitate loosely-coupled, reliable, systems
BLOB
Slide 5
Binary Large OBject
BLOBS
Slide 6
Store Large Objects (up to 1TB in size)Can be served through Windows Azure
CDN serviceStandard REST Interface
PutBlobInserts a new blob, overwrites the existing
blob
GetBlobGet whole blob or a specific range
DeleteBlobCopyBlobSnapshotBlobEtc
BLOB STRUCTURE
Slide 7
Storage Account: MediaStorage
Container: Pop Container: Rock
Fly.mp3 PopConcert.avi PopLetter.docx
We will rock you.mp3 RockConcert.avi poster.pdf
BLOB URI
http://<storageAccount>.blob.core.windows.net/<Container>/<BlobName>
http://mediastorage.blob.core.windows.net/pop/fly.mp3
BASIC STEPS
Slide 9
Get storage account
Get blob client
Retrieve a container reference
Get blob reference
Upload/Download a blob
DEMO BLOB STORAGE
TWO TYPES OF BLOBS
Slide 11
Block Blob Targeted at streaming workloadsEach blob consists of a sequence
of blocks• Each block is identified
by a Block IDSize limit 200GB per blob
Page Blob Targeted at random read/write
workloadsEach blob consists of an array
of pagesEach page is identified by
its offset from the start ofthe blob
Size limit 1TB per blob
WINDOWS AZURE DRIVE
Slide 12
Drive == Page blob
Fixed NTFS
Between 16MB and 1TB
Can only be mounted by only VM
at time for read/write access
TABLE
Slide 13
Provides Structured StorageMassively Scalable Tables
Billions of entities (rows) andTBs of data
Can use thousands of servers as traffic grows
Highly Available & DurableData is replicated several times
Familiar and Easy to use APIWCF Data Services
(previously ADO.NET Data Services)and OData
.NET classes and LINQREST – with any platform or language
BASIC STEPS
Create an entity
Specify a context
Get storage account
Generate table
Work with the context
Slide 14
DEMO TABLE STORAGE
Slide 15
PARTITION TABLES
Slide 16
QUEUE
Slide 17
• Queue are performance efficient,highly available and provide reliable message delivery– Simple, asynchronous work dispatch– Programming semantics ensure that a
message can be processed at least once
• Access is provided via REST
QUEUE: FIRST IN FIRST OUT
Slide 18
BASIC STEPS
Slide 19
Get storage account
Retrieve queue reference
Add/Get message
Delete message
DEMO QUEUES
Slide 20
CONTENT DELIVERY NETWORK
Slide 21