RDS SQL Server通过配置镜像为高性能模式提高写入性能

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: RDS SQL Server通过配置镜像为高性能模式提高写入性能

场景描述


在业务使用过程中,经常遇到写入量突然增大的场景。在这时,可以考虑经通过配置RDS SQL Server镜像同步模式,而又能承担少量数据丢失的风险,可以将镜像模式配置为高性能模式,来临时缓解降低写入压力。


适用SQL Server版本范围


支持RDS SQL Server高可用(企业)版本(不包含本地盘版本)


SQL Server镜像技术


数据库镜像是一种提高SQL Server数据库可用性的解决方案。镜像是在每个数据库的基础上实现的,并且只适用于使用完全恢复模型的数据库。


镜像技术概述


  1. 数据库镜像维护在两个不服务器维护两数据一样的副本,在数据库启动通过镜像会话来保护数据同步。


  1. 主实例提供给客户端服务,备实例充当热备,当需要切换角色时,可以通过故障转移,快速将备实例切换成主实例。


  1. 数据库镜像涉及尽可能快地将主数据库上发生的每个插入、更新和删除操作重做到镜像数据库。重做是通过向镜像服务器发送活动事务日志记录流来完成的,镜像服务器会按顺序尽快地将日志记录应用到镜像数据库。


数据库镜像的优点


  1. 提高了数据库高可用性
    在灾难发生时,在具有自动故障转移的高安全模式下,故障转移将快速使数据库的备用副本联机(不会丢失数据)。在其他操作模式中,数据库管理员可以选择将服务强制转移到数据库的备用副本(可能导致数据丢失)。


  1. 提高了数据库高安全性
    数据库镜像提供完全或几乎完全的数据冗余,这取决于操作模式是高安全的还是高性能的。


  1. 在升级期间提高生产数据库的可用性
    要尽量减少镜像数据库的停机时间,可以依次升级承载故障转移合作伙伴的SQL Server实例。这将只导致单个故障转移的停机时间。这种升级形式称为滚动升级。

什么是高性能模式和高安全模式


  1. 高性能模式(异步运行):事务不需要等待镜像服务器将日志写入磁盘便可提交,这样可最大程度地提高性能。这意味着事务不需要等待镜像服务器将日志写入磁盘便可提交,而此操作允许主体服务器在事务滞后时间最小的条件下运行,但可能会丢失某些数据

  1. 高安全模式(同步运行):当会话开始时,镜像服务器使镜像数据库尽快与主体数据库同步。一旦同步了数据库,事务将在双方提交,这会延长事务滞后时间。


如何配置高安全模式

  1. 查看数据库版本
select @@version;# 结果中包含如下信息为企业版本
# "Enterprise Edition"


  1. 查看当前数据镜像模式
select db_name(database_id),mirroring_safety_level,mirroring_safety_level_desc from sys.database_mirroring;# 字段:mirroring_safety_level_desc 值:OFF 为高性能
# 字段:mirroring_safety_level_desc 值:FULL 为高安全
# 字段:mirroring_safety_level_desc 值:NULL 没有镜像


  1. 配置高性能模式
alter database db01 set partner safety off;


  1. 关闭高性能,配置高安全模式
alter database db01 set partner safety full;


  1. 简单模拟写入测试
create database db01;use db01;createtable t1(id int, name varchar(50));DECLARE @num INT;DECLARE @count INT;SET @count =1;SET @total_count =100000;WHILE @count <= @total_count
BEGINinsertinto t1(id, name)values(@count,'abc');SET @count = @count +1;END;


结果:高性能模式写入10万条记录为34秒,高安全模式写入性能为91秒;大概提升3倍左右。


相关技术文档

SQL Server 不同版本支持的功能

SQL Server镜像技术

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 存储 关系型数据库
如何巧用索引优化SQL语句性能?
本文从索引角度探讨了如何优化MySQL中的SQL语句性能。首先介绍了如何通过查看执行时间和执行计划定位慢SQL,并详细解析了EXPLAIN命令的各个字段含义。接着讲解了索引优化的关键点,包括聚簇索引、索引覆盖、联合索引及最左前缀原则等。最后,通过具体示例展示了索引如何提升查询速度,并提供了三层B+树的存储容量计算方法。通过这些技巧,可以帮助开发者有效提升数据库查询效率。
190 2
|
1月前
|
SQL 数据库 UED
SQL性能提升秘籍:5步优化法与10个实战案例
在数据库管理和应用开发中,SQL查询的性能优化至关重要。高效的SQL查询不仅可以提高应用的响应速度,还能降低服务器负载,提升用户体验。本文将分享SQL优化的五大步骤和十个实战案例,帮助构建高效、稳定的数据库应用。
50 3
|
1月前
|
SQL 开发框架 .NET
突破T-SQL限制:利用CLR集成扩展RDS SQL Server的功能边界
CLR集成为SQL Server提供了强大的扩展能力,突破了T-SQL的限制,极大地拓展了SQL 的应用场景,如:复杂字符串处理、高性能计算、图像处理、机器学习集成、自定义加密解密等,使开发人员能够利用 .NET Framework的丰富功能来处理复杂的数据库任务。
|
1月前
|
SQL IDE 数据库连接
IntelliJ IDEA处理大文件SQL:性能优势解析
在数据库开发和管理工作中,执行大型SQL文件是一个常见的任务。传统的数据库管理工具如Navicat在处理大型SQL文件时可能会遇到性能瓶颈。而IntelliJ IDEA,作为一个强大的集成开发环境,提供了一些高级功能,使其在执行大文件SQL时表现出色。本文将探讨IntelliJ IDEA在处理大文件SQL时的性能优势,并与Navicat进行比较。
32 4
|
1月前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
131 10
|
1月前
|
SQL 关系型数据库 MySQL
惊呆:where 1=1 可能严重影响性能,差了10多倍,快去排查你的 sql
老架构师尼恩在读者交流群中分享了关于MySQL中“where 1=1”条件的性能影响及其解决方案。该条件在动态SQL中常用,但可能在无真实条件时导致全表扫描,严重影响性能。尼恩建议通过其他条件或SQL子句命中索引,或使用MyBatis的`&lt;where&gt;`标签来避免性能问题。他还提供了详细的执行计划分析和优化建议,帮助大家在面试中展示深厚的技术功底,赢得面试官的青睐。更多内容可参考《尼恩Java面试宝典PDF》。
|
1月前
|
SQL 缓存 监控
SQL性能提升指南:五大优化策略与十个实战案例
在数据库性能优化的世界里,SQL优化是提升查询效率的关键。一个高效的SQL查询可以显著减少数据库的负载,提高应用响应速度,甚至影响整个系统的稳定性和扩展性。本文将介绍SQL优化的五大步骤,并结合十个实战案例,为你提供一份详尽的性能提升指南。
50 0
|
2月前
|
SQL 监控 数据库
慢SQL对数据库写入性能的影响及优化技巧
在数据库管理系统中,慢SQL(即执行缓慢的SQL语句)不仅会影响查询性能,还可能对数据库的写入性能产生显著的不利影响
|
2月前
|
SQL 关系型数据库 PostgreSQL
遇到SQL 子查询性能很差?其实可以这样优化
遇到SQL 子查询性能很差?其实可以这样优化
135 2
|
2月前
|
SQL Oracle 关系型数据库
Oracle SQL:了解执行计划和性能调优
Oracle SQL:了解执行计划和性能调优
70 1