构建可缩放的云数据库

使用 Azure SQL 数据库的可缩放工具和功能,可以轻松扩大数据库。特别是,你可以使用弹性数据库客户端库来创建和管理扩大的数据库。此功能可让你使用成百上千个 Azure SQL 数据库,轻松地开发分片应用程序。

若要安装该库,请转到 Microsoft.Azure.SqlDatabase.ElasticScale.Client

文档

  1. 弹性数据库工具入门
  2. 弹性数据库功能
  3. 分片映射管理
  4. 迁移要扩大的现有数据库
  5. 依赖于数据的路由
  6. 多分片查询
  7. 使用弹性数据库工具添加分片
  8. 具有弹性数据库工具和行级安全性的多租户应用程序
  9. 升级客户端库应用
  10. 弹性查询概述
  11. 弹性数据库工具词汇表
  12. 弹性数据库客户端库与实体框架
  13. 弹性数据库客户端库与 Dapper
  14. 拆分/合并工具
  15. 分片映射管理器的性能计数器
  16. 弹性数据库工具常见问题

客户端功能

无论对于开发人员还是管理员,使用分片扩大应用程序都存在挑战。客户端库通过提供工具让开发人员和管理员管理扩大的数据库,简化了管理任务。在典型的示例中,有许多称为“分片”的数据库要管理。客户归置于同一数据库,并且每个客户(单租户方案)一个数据库。客户端库包含下列功能:

  1. 分片映射管理:创建一个称为“分片映射管理器”的特殊数据库。分片映射管理是一种使应用程序能够管理其分片相关元数据的功能。开发人员可使用此功能将数据库注册为分片(描述各个分片键或键范围到这些数据库的映射),并随着数据库的数量和组成发展来维护此元数据,以反映容量更改。如果不使用弹性数据库客户端库,实现分片时你必须花费大量时间来编写管理代码。有关详细信息,请参阅分片映射管理
  • 依赖于数据的路由:假设将一个请求传入应用程序。基于请求的分片键值,应用程序必须根据该键值判断正确的数据库。接着,它会与数据库建立连接来处理请求。借助依赖于数据的路由,您能够通过对应用程序的分片映射的单个简单调用打开连接。依赖于数据的路由是基础结构代码的另一个区域,现在它由弹性数据库客户端库中的功能所取代。有关详细信息,请参阅依赖于数据的路由

  • 多分片查询 (MSQ):当一个请求涉及多个(或所有)分片时,多分片查询将生效。多分片查询在所有分片或一组分片上执行相同的 T-SQL 代码。使用 UNION ALL 语义,将参与分片中的结果合并到一个总结果集中。该功能通过该客户端库处理多个任务公开,其中包括连接管理、线程管理、故障处理和中间结果处理。MSQ 最多可以查询数百个分片。有关详细信息,请参阅多分片查询

一般而言,当使用弹性数据库工具的客户提交具有其自己的语义的局部分片操作(与跨分片操作相对)时,预期可获取完整的 T-SQL 功能。

后续步骤

尝试运行用于演示客户端功能的示例应用

若要安装该库,请转到弹性数据库客户端库

有关使用拆分/合并工具的说明,请参阅拆分/合并工具概述

弹性数据库客户端库的源代码现已发布!

使用弹性查询

GitHub 上,以开源软件的形式提供该库。

了解详细信息

尚未使用弹性数据库工具? 请查看入门指南文档结构图。 有关问题,请在 SQL 数据库论坛上联系我们和发出功能请求。