Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL csdhall@ChanderDhall.com .

Post on 28-Dec-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Austin code camp 2010

asp.net apps with

azure table storage

PRESENTED BYCHANDER SHEKHAR DHALL

csdhall@ChanderDhall.comwww.welcometoyoga.comwww.ChanderDhall.com

Twitter @csdhall

www.welcometoyoga.com

wARNING

• THIS PRESENTATION IS ON A MAC

• Worked on Azure?

Counts

• Specifically Azure Table Storage?

Counts

• Planning to use Azure?

Counts

• Working for Start-Up?

Counts

• Attended PDC?

Counts

• Attending Tech-ED?

Counts

• Anyone Recording?

Counts

Why Azure?

azure

• Windows Azure is the foundation of Microsoft’s Cloud Platform

• It is an “Operating System in the Cloud” and provides Essential Services for the cloud Virtualized Computation Scalable Storage Automatic Management Developer SDK

azure

azure

Azure Roles

• An Azure application is implemented with a Web and/or a Worker role. Developer defines what the role does. Azure takes care of the rest. Each VM assigner to a role.

Azure Roles

Stateless

• Azure Web Roles must be designer to be stateless Request from the same user may reach different

web role instances. Store state in Azure storage or client side.

Stateless

Windows Azure data storage

• Azure allow data to be stored in: Blobs (large items of user data) Tables(simple tables, caches) Queues(service communicationz)

• Massive scale, availability and durability.

• Everything is accessible via RESTful services.

Fundamental data abstractions• Blobs – Provide a simple interface for storing

named files along with metadata for the file

• Tables – Provide structured storage; A Table is a set of entities, which contain a set of properties

• Queues – Provide reliable storage and delivery of messages for an application

Windows Azure data storage

Windows azure tables

• Provides Structured Storage Massively Scalable Tables

• Billions of entities (rows) and TBs of data• Can use thousands of servers as traffic grows

Highly Available• Can always access your data

Durable• Data is replicated several times

• Familiar and Easy to use API ADO.NET Data Services – .NET 3.5 SP1

• .NET classes and LINQ• REST – with any platform or language

Agenda

• Data model

• Demo – creating Tables

• Demo – creating Blobs

• Demo – creating Queues

• Basic CRUD using .NET and REST

• Best Practices

• Demo – A better Approach

Data model

• TableA Storage Account can create many tablesTable name is scoped by Account

• Data is stored in TablesA Table is a set of Entities (rows)An Entity is a set of Properties (columns)

• EntityTwo “key” properties that together

are the unique ID of the entity• PartitionKey – enables scalability• RowKey – uniquely identifies

the entity within the partition

partition

Table Partition – all entities in table with same partition key value

Application controls granularity of partition

partition

Table Partition – all entities in table with same partition key value

Application controls granularity of partition

Partition KeyItem

Row KeyModelNo

Property 3Sold

Property 4

Laptop M1.0.0.0 10/1/2010

Laptop M1.0.0.1 23/1/2010

PC V1.0 5/2/2007

PC V1.0.1 7/6/2007

PC V1.0.2 8/1/2007

Partiton guidelines

• Performance Use a PartitionKey that is

common in your queries• Entities with same partition key value are

clustered

• Scalability We monitor partition traffic Automatically load balance partitions

• Each partition can potentially be served by a different storage node

• Scale to meet the traffic needs of your application More partitions – makes it easier

to balance load

DEMO

TALK IS CHEAP. SHOW ME THE CODE

- LINUS TORVALDS

entities and properties

• Each Entity can have up to 255 properties

• Every Entity has fixed key properties Partition key Row key

• No fixed schema for rest of properties 2 entities in the same table

can have different properties Properties stored as <Name, TypedValue> pairs

• Each entity has a system maintained version

Automated service management• Our responsibilities

Develop and model the service. Deploy the service to the cloud. Configure the settings and constraints.

• Azure’s responsibilities Run the service. Maintain the service’s health. Configure the settings and constraints.

Azure services

Azure services

Property types

• Partition key and Row key String (up to 64KB)

• Other properties String (up to 64KB) Binary (up to 64KB) Bool DateTime GUID Int Int64 Double

References (bing it out)

• Azure Team Blog.

• Channel 9 webcast/RSS.

• For beginners – Azure platform toolkits

• White papers on Azure Storage.

• Twitter @csdhall

Questions

top related