Book Image

Microsoft Windows Azure Development Cookbook

By : Neil Mackenzie
Book Image

Microsoft Windows Azure Development Cookbook

By: Neil Mackenzie

Overview of this book

The Windows Azure platform is Microsoft's Platform-as-a-Service environment for hosting services and data in the cloud. It provides developers with on-demand computing, storage, and service connectivity capabilities that facilitate the hosting of highly scalable services in Windows Azure datacenters across the globe. This practical cookbook will show you advanced development techniques for building highly scalable cloud-based services using the Windows Azure platform. It contains over 80 practical, task-based, and immediately usable recipes covering a wide range of advanced development techniques for building highly scalable services to solve particular problems/scenarios when developing these services on the Windows Azure platform. Packed with reusable, real-world recipes, the book starts by explaining the various access control mechanisms used in the Windows Azure platform. Next you will see the advanced features of Windows Azure Blob storage, Windows Azure Table storage, and Windows Azure Queues. The book then dives deep into topics such as developing Windows Azure hosted services, using Windows Azure Diagnostics, managing hosted services with the Service Management API, using SQL Azure and the Windows Azure AppFabric Service Bus. You will see how to use several of the latest features such as VM roles, Windows Azure Connect, startup tasks, and the Windows Azure AppFabric Caching Service.
Table of Contents (16 chapters)
Microsoft Windows Azure Development Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Choosing a PartitionKey and RowKey for a table


The Primary Key for a table in the Windows Azure Table Service is the combination of PartitionKey and RowKey. These properties are not symmetric in that the PartitionKey and RowKey serve different purposes. The PartitionKey provides scalability for a table while the RowKey ensures uniqueness for a given value of PartitionKey.

A set of entities with the same PartitionKey in a table is referred to as a partition. The Table service has a scalability target for a partition that is lower than that for the storage account. Consequently, performance can be improved by ensuring that data access is distributed across partitions. It is important that the PartitionKey is designed, so that performance is optimized for the actual workload of a service.

An anti-pattern for the design of the PartitionKey is the append pattern in which the PartitionKey is created, so that all entities inserted in some interval of time are inserted in the same partition. For example...