Scaling Out Azure SQL Databases
Updated: July 31, 2015
Easing the development of Software as a Service (SaaS) is facilitated by the Elastic Database client library and Elastic Database split-merge tool, known together as Elastic Database tools. These tools simplify development and management of sharded database solutions. The tools embody a set of features that enable you to scale in (and out) the data-tier of an application that uses sharding patterns. Additionally, the tools significantly streamline the development and management of your sharded cloud applications.
The tool set includes:
- The elastic database client library
- A .NET Framework library that lets you develop client applications that allow both developers and admins to easily manage shards. See Get started with Elastic Database tools.
- The split-merge tool
- This tool enables you to split rows from one shard, and merge them to another shard. Ordinarily, you must log into each Azure SQL database in order to perform any work. The tool handles the log in and maintains the metadata for each shard. See Scaling using the elastic database split-merge tool
The tools are provided through a set of .Net libraries and through Azure service templates that you can host in your own subscription. The tools handle the infrastructure of sharding and allow you to focus on the business logic of your application instead.
Elastic Database features include the Elastic Database tools and three other functions: Elastic Database jobs, Elastic Database query and Elastic Database pools.
- Elastic Database jobs (preview):
- Designed for the management of large numbers of Azure SQL Databases. Elastic Database jobs gives you the ability to run a T-SQL script against a group of databases—for example, if you need to change the schema of a table. The job will execute across each database in the group. It also logs every action and lets you check its progress, or to help find problems in the script execution.
- Elastic Database query (preview)
- Enables you to run a Transact-SQL query that spans multiple databases in Azure SQL Database. It allows you to connect Microsoft and third party tools (Excel, PowerBI, Tableau, etc.) to data tiers with multiple databases, especially when those databases share a common schema (also known as horizontal partitioning or sharding).
- Elastic Database pools (preview)
- An elastic database pool is a collection of available resources shared by the elastic databases in the pool. You can add databases to the pool or remove them at any time. The databases in the pool share the resources (expressed as elastic database throughput units, or eDTUs) and storage capacity of the pool, but each database uses only the resources it needs when it needs them, leaving resources free for other databases when they need them.