windows azure storage n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Windows Azure Storage PowerPoint Presentation
Download Presentation
Windows Azure Storage

Loading in 2 Seconds...

play fullscreen
1 / 30

Windows Azure Storage - PowerPoint PPT Presentation


  • 182 Views
  • Uploaded on

Windows Azure Storage. Olav Tollefsen Microsoft Norge AS Email: olavt@microsoft.com Twitter: olavtoll. Agenda. Windows Azure Storage Blob Storage Tables Queues. Windows Azure Storage. Storage in the Cloud Scalable, durable, and available Anywhere at anytime access

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Windows Azure Storage' - shen


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
windows azure storage

Windows Azure Storage

Olav Tollefsen

Microsoft Norge AS

Email: olavt@microsoft.com

Twitter: olavtoll

agenda
Agenda

Windows Azure Storage

Blob Storage

Tables

Queues

windows azure storage1
Windows Azure Storage

Storage in the Cloud

Scalable, durable, and available

Anywhere at anytime access

Only pay for what the service uses

Exposed via RESTful Web Services

Use from Windows Azure Compute

Use from anywhere on the internet

windows azure storage account user specified globally unique account name
Windows Azure Storage AccountUser specified globally unique account name

Can choose geo-location to host storage account:

US

Europe

Asia

North Central US

Northern Europe

Western Europe

East Asia

South East Asia

South Central US

West US

East US

windows azure storage account
Windows Azure Storage Account

Can CDN Enable Account

Blobs delivered via 24 global CDN nodes

Can co-locate storage account with compute account

Explicitly or using affinity groups

Accounts have two independent 512 bit shared secret keys

100 TBs per account

the storage client api
The Storage Client API

In this presentation we’ll cover the underlying RESTful API

Can call these from any HTTP cliente.g. Flash, Silverlight, etc…

Client API from SDK Microsoft.WindowsAzure.StorageClient

Provides a strongly typed wrapper around REST services

storage libraries in many languages
Storage Libraries in Many Languages

C#/.NET

Python

Ruby

Perl

JavaScript (Node)

Java

PHP

Erlang

Common LISP

Objective-C

C#/VB on Windows Phone 7

storage security
Storage Security

Windows Azure Storage provides simple security for calls to storage service

HTTPS endpoint

Digitally sign requests for privileged operations

Two 512bit symmetric keys per storage account

Can be regenerated independently

More granular security via Shared Access Signatures

windows azure storage abstractions
Windows Azure Storage Abstractions

Tables

Structured storage. A table is a set of entities; an entity is a set of properties.

Blobs

Simple named files along with metadata for the file.

Queues

Reliable storage and delivery of messages for an application.

blob storage concepts
Blob Storage Concepts

http://<account>.blob.core.windows.net/<container>/<blobname>

Blob

Pages/ Blocks

  • Account

Container

PIC01.JPG

images

Block/Page

PIC02.JPG

contoso

Block/Page

videos

VID1.AVI

blob containers
Blob Containers

Multiple Containers per Account

Special $root container

Blob Container

A container holds a set of blobs

Set access policies at the container level

Associate Metadata with Container

List the blobs in a container

Including Blob Metadata and MD5

NO search/query. i.e. no WHERE MetadataValue = ?

Blobs Throughput

Effectively in Partition of 1

Target of 60MB/s per Blob

queue storage concepts
Queue Storage Concepts

Account

Queue

Message

customer ID order ID http://…

adventureworks

order processing

  • customer ID order ID http://…
loosely coupled workflow with queues
Loosely Coupled Workflow with Queues

Enables workflow between roles

Load work in a queue

Producer can forget about message once it is in queue

Many workers consume the queue

For extreme throughput (>500 tps)

Use multiple queues

Read messages in batches

Multiple work items per message

Input Queue (Work Items)

Queue

Web Role

Worker Role

Worker Role

Web Role

Worker Role

Web Role

Worker Role

queue details
Queue Details

Simple asynchronous dispatch queue

No limit to queue length subject to storage limit

64kb per message

ListQueues - List queues in account

Queue operations

CreateQueue

DeleteQueue

Get/Set Metadata

Clear Messages

queue details1
Queue Details

Message operations

PutMessage– Reads message and hides for time period

GetMessages – Reads one or more messages and hides them

PeekMessages – Reads one or more messages w/o hiding them

DeleteMessage – Permanently deletes messages from queue

UpdateMessage – Clients renew the lease and contents

queue s reliable delivery
Queue’s Reliable Delivery

Guarantee delivery/processing of messages (two-step consumption)

Worker queues message and it is marked as Invisible for a specified “Invisibility Time”

Worker Deletes message when finished processing

If Worker role crashes, message becomes visible for another Worker to process

windows azure storage summary
Windows Azure Storage Summary

Fundamental data abstractions to build your applications

Blobs: Files and large objects

Drives: NTFS APIs for migrating applications

Tables: Massively scalable structured storage

Queues: Reliable delivery of messages

Easy to use via the Storage Client Library

Hands on Labs

hands on lab

Hands-On LAB

Step 1-4

table storage concepts
Table Storage Concepts

Account

Table

Entity

Name =…

Email = …

customers

Name =…

EMailAdd=

contoso

Photo ID =…

Date =…

photos

Photo ID =…

Date =…

table details
TableDetails

Create, Query, Delete

Tables can have metadata

Not an RDBMS! Table

Insert

Update

Merge – Partial update

Replace – Update entire entity

Upsert

Delete

Query

Entity Group Transactions

Multiple CUD Operations in a single atomic transaction

Entities

entity properties
Entity Properties

Entity can have up to 255 properties

Up to 1MB per entity

Mandatory Properties for every entity

PartitionKey & RowKey (only indexed properties)

Uniquely identifies an entity

Defines the sort order

Timestamp

Optimistic Concurrency

Exposed as an HTTP Etag

No fixed schema for other properties

Each property is stored as a <name, typed value> pair

No schema stored for a table

Properties can be the standard .NET types

String, binary, bool, DateTime, GUID, int, int64, and double

no fixed schema
No Fixed Schema

FAV SPORT

Canoeing

querying
Querying

?$filter=Last eq ‘Wegner’

purpose of the partitionkey
Purpose of the PartitionKey

Entity Locality

Entities in the same partition will be stored together

Efficient querying and cache locality

Endeavour to include partition key in all queries

Entity Group Transactions

Atomic multiple Insert/Update/Delete in same partition in a single transaction

Table Scalability

Target throughput – 500 tps/partition, several thousand tps/account

Windows Azure monitors the usage patterns of partitions

Automatically load balance partitions

Each partition can be served by a different storage node

Scale to meet the traffic needs of your table

partitions and partition ranges
Partitions and Partition Ranges

Server A

Table = Products

[MinKey - Canoes)

Server A

Table = Products

Server B

Table = Products

[Canoes - MaxKey)

hands on lab1

Hands-On LAB

Step 5, 6, 7