你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 上的多租户解决方案通常使用 Azure SQL 数据库。 本文概述了支持多租户系统设计的关键 SQL 数据库功能。 它还提供了有关如何在多租户解决方案中实现 Azure SQL 的指南和示例。
指南
SQL 数据库团队发布了有关如何使用 SQL 数据库实现多租户体系结构的广泛指南。 有关详细信息,请参阅 多租户软件即服务(SaaS)数据库租赁模式 和 分区 SQL 数据库。
支持多租户的 SQL 数据库功能
SQL 数据库包含许多支持多租户的功能。
弹性池
使用弹性池可以在同一服务器上的多个数据库之间共享计算资源。 通过使用弹性池,可以为每个数据库实现性能弹性。 还可以通过跨多个数据库共享预配的资源来最大程度地提高成本效益。 弹性池针对 嘈杂邻居问题提供内置保护。
有关详细信息,请参阅以下资源:
弹性数据库工具
可以使用 分片模式 将您的工作负载扩展到多个数据库。 SQL 数据库提供支持分片的工具。 这些工具包括 分片映射的管理,这些映射起到数据库的作用,用于跟踪指派到每个分片的租户。 这些工具还包括使用 弹性作业来启动和跟踪多个分片上的查询和管理操作的功能。
有关详细信息,请参见:
行级安全性
行级安全性 有助于在共享表中实施租户隔离。
有关详细信息,请参阅以下资源:
密钥管理
Always Encrypted 功能为数据库提供端到端加密。 如果租户必须提供自己的加密密钥,请考虑为每个租户部署单独的数据库并启用 Always Encrypted 功能。
贡献者
Microsoft维护本文。 以下参与者撰写了本文。
主要作者:
- Paul Burpo | FastTrack for Azure 首席客户工程师
- John Downs | 首席软件工程师
其他参与者:
- Silvano Coriani | Azure SQL 首席项目经理
- Dimitri Furman | Azure SQL 首席项目经理
- Sanjay Mishra | Azure SQL 首席项目经理
- 阿森·弗拉基米尔斯基|首席工程师,FastTrack for Azure
若要查看非公开的LinkedIn个人资料,请登录LinkedIn。
后续步骤
- 案例研究:为大型 SaaS 提供程序在 Azure SQL 上运行 100 万个数据库:Dynamics 365 和 Microsoft Power Platform
- 样本:Wingtip Tickets SaaS 应用程序提供了同一应用的三个多租户示例。 每个示例都会探索 SQL 数据库上的不同数据库租赁模式。 第一个示例使用独立应用程序,其中每个租户都有自己的数据库。 第二个示例具有多租户应用,每个租户都有一个单独的数据库。 第三个示例包括具有分片多租户数据库的多租户应用。
- 视频:SQL 数据库上的 SaaS 应用程序的设计模式