Chapter 11. The Table service, a whole different entity

 

This chapter covers

  • Introducing the Table service
  • Getting started developing with the Table service
  • Using the Table service in a production environment

In typical web applications, you’d normally store your data in a relational database, such as SQL Server. SQL Server is great at representing relational data and is a suitable data store for many situations, but it’s very difficult to design scalable SQL Server databases at low cost. To get around the problems of scalability, Windows Azure provides its own table-based storage mechanism called the Table service.

Problems of scale in relational databases

As the web server load increases for a site, you may need to scale up the number of servers to cope with the increase in demand. But what do you do if you need to increase the capacity of your data store? Unfortunately, most databases aren’t designed to scale beyond a single server, which means the only way to cope with the increase in demand is either to scale up your hardware or redesign your application.

Although it’s possible to design scalable federated databases with SQL Server, the licensing costs, the design complexity, the cost of development, and the operational costs of running such a system make it very difficult to justify for many companies on a budget.

Let’s now take a brief look at what the Table service is.

11.1. A brief overview of the Table service

11.2. How we’d normally represent entities outside of Azure

11.3. Modifying an entity to work with the Table service

11.4. Partitioning data across lots of servers

11.5. Developing with the Table service

11.6. Doing CRUDy stuff with the Table service

11.7. Summary