Elastic Database tools glossary

Applies to: Azure SQL Database

The following terms are defined for the Elastic Database tools. The tools are used to manage shard maps, and include the client library, the split-merge tool, elastic pools, and queries.

These terms are used in Adding a shard using Elastic Database tools and Using the RecoveryManager class to fix shard map problems.

Elastic Scale terms

Database: A database in Azure SQL Database.

Data dependent routing: The functionality that enables an application to connect to a shard given a specific sharding key. See Data dependent routing. Compare to Multi-Shard Query.

Global shard map: The map between sharding keys and their respective shards within a shard set. The global shard map is stored in the shard map manager. Compare to local shard map.

List shard map: A shard map in which sharding keys are mapped individually. Compare to Range Shard Map.

Local shard map: Stored on a shard, the local shard map contains mappings for the shardlets that reside on the shard.

Multi-shard query: The ability to issue a query against multiple shards; results sets are returned using UNION ALL semantics (also known as "fan-out query"). Compare to data dependent routing.

Multi-tenant and Single-tenant: This shows a single-tenant database and a multi-tenant database:

Screenshot that shows a single-tenant database and a multi-tenant database.

Here is a representation of sharded single and multi-tenant databases.

Single and multi-tenant databases

Range shard map: A shard map in which the shard distribution strategy is based on multiple ranges of contiguous values.

Reference tables: Tables that are not sharded but are replicated across shards. For example, zip codes can be stored in a reference table.

Shard: A database in Azure SQL Database that stores data from a sharded data set.

Shard elasticity: The ability to perform both horizontal scaling and vertical scaling.

Sharded tables: Tables that are sharded, i.e., whose data is distributed across shards based on their sharding key values.

Sharding key: A column value that determines how data is distributed across shards. The value type can be one of the following: int, bigint, varbinary, or uniqueidentifier.

Shard set: The collection of shards that are attributed to the same shard map in the shard map manager.

Shardlet: All of the data associated with a single value of a sharding key on a shard. A shardlet is the smallest unit of data movement possible when redistributing sharded tables.

Shard map: The set of mappings between sharding keys and their respective shards.

Shard map manager: A management object and data store that contains the shard map(s), shard locations, and mappings for one or more shard sets.

Diagram shows a shard map manager associated with shardmaps_global, shards_global, and shard_mappings_global.

Verbs

Horizontal scaling: The act of scaling out (or in) a collection of shards by adding or removing shards to a shard map, as shown below.

Horizontal and vertical scaling

Merge: The act of moving shardlets from two shards to one shard and updating the shard map accordingly.

Shardlet move: The act of moving a single shardlet to a different shard.

Shard: The act of horizontally partitioning identically structured data across multiple databases based on a sharding key.

Split: The act of moving several shardlets from one shard to another (typically new) shard. A sharding key is provided by the user as the split point.

Vertical Scaling: The act of scaling up (or down) the compute size of an individual shard. For example, changing a shard from Standard to Premium (which results in more computing resources).

Additional resources

Not using elastic database tools yet? Check out our Getting Started Guide. For questions, contact us on the Microsoft Q&A question page for SQL Database and for feature requests, add new ideas or vote for existing ideas in the SQL Database feedback forum.