Sample Sharded Data Model

Updated: September 24, 2014

Authors: Shaun Tinline-Jones and Silvano Coriani

This topic describes a pattern for creating a sharded data model for a relational database management system (RDBMS) that runs within Azure SQL Database.

The pattern described here is implemented over two types of data stores:

  • A SQL database is used to store the configuration and settings data.

  • Azure table storage is used to store the tables associated with data elasticity.

In this sample, a database is created within a Microsoft SQL Server version to hold the configuration and settings for shard management. The database is designed to coexist with an application’s root database, where the golden copy of the reference data is persisted.

The following diagram shows a SQL data model for configuration and settings.


Azure Storage is used as the data store for managing data movement and for persisting state of shardlets and active connections. The following diagram shows elasticity models for tables on Azure Storage:


It is possible to transpose the Tables entities into an Azure SQL Database equivalent, which aligns with a pattern to reduce the number of differing technologies. Creating a homogenous data store opens up architectural considerations for handling disaster recovery.