“常规用途”服务层级 - Azure SQL 数据库和 Azure SQL 托管实例
适用于: Azure SQL 数据库
Azure SQL 托管实例
Azure SQL 数据库和 Azure SQL 托管实例基于 SQL Server 数据库引擎体系结构,该体系结构已根据云环境做出调整,以确保即使在发生基础结构故障时,也仍能提供默认的可用性。
本文介绍并比较 Azure SQL 数据库和 Azure SQL 托管实例使用的的“常规用途”服务层级。 “常规用途”服务层级最适用于以预算为导向的均衡计算和存储选项。
概述
“常规用途”服务层级的体系结构模型基于计算和存储的分离。 此体系结构模型依赖于 Azure Blob 存储的高可用性和可靠性,旨在以透明的方式复制数据库文件,并确保在发生基础结构故障时不会丢失数据。
下图显示了计算层和存储层已隔离的标准体系结构模型中的四个节点。
“常规用途”服务层级的体系结构模型中有两个层:
- 无状态计算层:运行
sqlservr.exe
进程,仅包含暂时性的缓存数据(例如 - 计划缓存、缓冲池和列存储池)。 此无状态节点由 Azure Service Fabric 操作。Service Fabric 初始化进程、控制节点运行状况,并根据需要执行到另一位置的故障转移。 - 有状态数据层:包含存储在 Azure Blob 存储中的数据库文件 (.mdf/.ldf)。 Azure Blob 存储保证任何数据库文件中的任何记录不会发生数据丢失。 Azure 存储具有内置的数据可用性/冗余,确保即使进程崩溃,也能保留日志文件中的每条记录或者数据文件中的页面。
每当升级数据库引擎或操作系统、底层基础结构的某个部件发生故障,或者在 sqlservr.exe
进程中检测到某个严重问题时,Azure Service Fabric 会将无状态进程移到另一个无状态计算节点。 发生主节点故障转移时,将有一组备用节点等待运行新的计算服务,以尽量减少故障转移时间。 Azure 存储层中的数据不受影响,数据/日志文件将附加到新初始化的进程。 默认情况下,此过程保证 99.99% 的可用性。 可能会对正在运行的重型工作负载造成一定的性能影响,原因是转换时间较长,并且新节点从冷缓存启动。
何时选择此服务层级
“常规用途”服务层级是 Azure SQL 数据库和 Azure SQL 托管实例中的默认服务层级,专为大多数常规工作负载而设计。 如果需要一个具有默认 SLA 且存储延迟在 5 到 10 毫秒之间的完全托管数据库引擎,则可选择“常规用途”层级。
比较“常规用途”资源限制
请查看本部分的表,概要了解“常规用途”服务层级中 Azure SQL 数据库与 Azure SQL 托管实例的资源限制比较情况。
有关资源限制的综合详细信息,请查看:
- Azure SQL 数据库:vCore 单一数据库、vCore 共用数据库、超大规模、DTU 单一数据库和 DTU 共用数据库
- Azure SQL 托管实例:vCore 实例限制
若要比较 SQL 数据库与 SQL 托管示例之间的功能,请参阅数据库引擎功能。
下表显示了“常规用途”服务层级中 Azure SQL 数据库与 Azure SQL 托管实例的资源限制:
类别 | Azure SQL 数据库 | Azure SQL 托管实例 |
---|---|---|
计算大小 | 1 - 80 个 vCore | 4、8、16、24、32、40、64、80 个 vCore |
存储类型 | 远程存储 | 远程存储 |
存储大小 | 1 GB - 4 TB | 2 GB - 16 TB |
Tempdb 大小 | 每个 vCore 32 GB | 每个 vCore 24 GB |
日志写入吞吐量 | 单一数据库:每个 vCore 4.5 MB/秒(最大 50 MB/秒) 弹性池:每个 vCore 6 MB/秒(最大 62.5 MB/秒) |
常规用途:每个 vCore 3 MB/秒(最大 120 MB/秒) 业务关键:每个 vCore 4 MB/秒(最大 96 MB/秒) |
可用性 | 默认 SLA | 默认 SLA |
备份 | 1-35 天(默认为 7 天) | 1-35 天(默认为 7 天) |
只读副本 | 0 个内置 0 - 4 个异地复制 | 0 个内置 0 - 1 个使用自动故障转移组的异地复制 |
定价/计费 | vCore、预留存储、备份存储和异地副本收费。 IOPS 不收取费用。 |
vCore、预留存储、备份存储和异地副本收费。 IOPS 不收取费用。 |