只读实例简介
在对数据库有少量写请求,但有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至对业务产生影响。为实现SQL Server读能力的弹性扩展,分担数据库读压力,您可以创建一个或多个只读实例,利用只读实例满足大量的数据库读取需求。
基本架构
只读实例基于SQL Server源生的AlwaysOn技术实现,通过物理复制方式实现主实例到只读实例的数据同步。只读实例节点以异步的方式加入主实例的AlwaysOn集群并作为其中一个辅助节点。只读实例的拓扑图如下所示。
使用限制
- 目前仅2022企业版、2019企业版的主备实例支持创建只读实例。
- 1个主实例最多支持创建5个只读实例。
- 不支持单独购买只读实例,需要购买主实例后,才能购买只读实例。
- 只读实例采用单节点结构,没有备节点。
- 只读实例需要与主实例在同一区域,但是可以选择不同可用区。
计费标准
只读实例需要额外收费,目前仅支持按需计费。计费详情请参见计费说明-产品资费-只读实例。
应用场景
- 单个实例负载过大时,可以创建只读实例,将读请求转发至只读实例,用于缓解主实例负载。
- 面对报表分析等场景,使用只读实例查询分析大量数据,不影响主实例。
- 面对容灾场景,使用只读实例作为主实例的容灾备份。
功能限制
- 只读实例不支持直接进行备份恢复,因为主实例具备备份恢复,如有需要请直接在主实例操作。注意:创建只读实例后,主实例将不支持通过备份集或时间点直接覆盖实例来恢复数据。
- 只读实例不支持直接管理数据库,比如创建、删除、重命名数据库,如有需要请直接在主实例操作。
- 只读实例不支持直接管理账号,比如创建账号、删除账号、重置密码、修改权限,如有需要请直接在主实例操作。
- 只读实例支持存储空间扩容、规格变更、重启、退订、应用参数模板、绑定弹性公网IP、参数设置、监控告警、日志等功能。
读写分离
在应用程序中分别配置主实例和每个只读实例的连接地址,实现读写分离。