Scaling Out Azure SQL Databases
Updated: July 22, 2015
Microsoft Azure SQL Database (Azure SQL Database) is built on standardized hardware that is owned, hosted, and maintained by Microsoft. Azure SQL Database offers a variety of service tiers and performance levels to fit the diverse needs of database applications in the cloud. (See Azure SQL Database Service Tiers and Performance Levels.) However there are limits to performance and capacity of the standardized hardware, so when additional resources are required scaling out becomes necessary. This requires sharding, which horizontally partitions data across multiple databases. Each database in this model is referred to as a shard.
Azure SQL Database supports two methods to implement sharding:
- Elastic Database
- The Elastic Database feature of Azure SQL Database simplifies building and managing an application that can be scaled out horizontally and vertically. The feature uses sharding architecture and includes several tools for managing collections of databases. For more information, see Elastic Database tools.
- Custom Sharding
- You can design and develop your own mechanisms for defining shards, routing connections, and managing data distribution among them. However, custom sharding typically requires significant development effort beyond application logic. For general guidance, see the topics under Optimizing Data Elasticity Through Database Sharding