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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 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镜像技术

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
320
分享
相关文章
MySQL进阶突击系列(07) 她气鼓鼓递来一条SQL | 怎么看执行计划、SQL怎么优化?
在日常研发工作当中,系统性能优化,从大的方面来看主要涉及基础平台优化、业务系统性能优化、数据库优化。面对数据库优化,除了DBA在集群性能、服务器调优需要投入精力,我们研发需要负责业务SQL执行优化。当业务数据量达到一定规模后,SQL执行效率可能就会出现瓶颈,影响系统业务响应。掌握如何判断SQL执行慢、以及如何分析SQL执行计划、优化SQL的技能,在工作中解决SQL性能问题显得非常关键。
MySQL原理简介—1.SQL的执行流程
本文介绍了MySQL驱动、数据库连接池及SQL执行流程的关键组件和作用。主要内容包括:MySQL驱动用于建立Java系统与数据库的网络连接;数据库连接池提高多线程并发访问效率;MySQL中的连接池维护多个数据库连接并进行权限验证;网络连接由线程处理,监听请求并读取数据;SQL接口负责执行SQL语句;查询解析器将SQL语句解析为可执行逻辑;查询优化器选择最优查询路径;存储引擎接口负责实际的数据操作;执行器根据优化后的执行计划调用存储引擎接口完成SQL语句的执行。整个流程确保了高效、安全地处理SQL请求。
261 76
如何优化SQL查询以提高数据库性能?
这篇文章以生动的比喻介绍了优化SQL查询的重要性及方法。它首先将未优化的SQL查询比作在自助餐厅贪多嚼不烂的行为,强调了只获取必要数据的必要性。接着,文章详细讲解了四种优化策略:**精简选择**(避免使用`SELECT *`)、**专业筛选**(利用`WHERE`缩小范围)、**高效联接**(索引和限制数据量)以及**使用索引**(加速搜索)。此外,还探讨了如何避免N+1查询问题、使用分页限制结果、理解执行计划以及定期维护数据库健康。通过这些技巧,可以显著提升数据库性能,让查询更高效流畅。
【YashanDB知识库】如何将mysql含有group by的SQL转换成崖山支持的SQL
本文探讨了在YashanDB(崖山数据库)中执行某些SQL语句时出现的报错问题,对比了MySQL的成功执行结果。问题源于SQL-92标准对非聚合列的严格限制,要求这些列必须出现在GROUP BY子句中,而SQL:1999及更高版本允许非聚合列直接出现在选择列中。YashanDB和Oracle遵循SQL-92标准,因此会报错。文章提供了两种解决方法:使用聚合函数处理非聚合列,或将GROUP BY与ORDER BY拆分为两层查询。最后总结指出,SQL-92标准更为严谨合理,建议开发者遵循此规范以避免潜在问题。
ThinkPHP框架show columns引发mysql性能问题
ThinkPHP框架的show columns引发mysql性能问题,结尾有关闭方式。
55 13
无缝集成 MySQL,解锁秒级 OLAP 分析性能极限,完成任务可领取三合一数据线!
通过 AnalyticDB MySQL 版、DMS、DTS 和 RDS MySQL 版协同工作,解决大规模业务数据统计难题,参与活动完成任务即可领取三合一数据线(限量200个),还有机会抽取蓝牙音箱大奖!
基于SQL Server / MySQL进行百万条数据过滤优化方案
对百万级别数据进行高效过滤查询,需要综合使用索引、查询优化、表分区、统计信息和视图等技术手段。通过合理的数据库设计和查询优化,可以显著提升查询性能,确保系统的高效稳定运行。
75 9
MySQL的架构与SQL语句执行过程
MySQL架构分为Server层和存储引擎层,具有高度灵活性和可扩展性。Server层包括连接器、查询缓存(MySQL 8.0已移除)、分析器、优化器和执行器,负责处理SQL语句;存储引擎层负责数据的存储和读取,常见引擎有InnoDB、MyISAM和Memory。SQL执行过程涉及连接、解析、优化、执行和结果返回等步骤,本文详细讲解了一条SQL语句的完整执行过程。
85 3
云原生数据仓库AnalyticDB PostgreSQL同一个SQL可以实现向量索引、全文索引GIN、普通索引BTREE混合查询,简化业务实现逻辑、提升查询性能
本文档介绍了如何在AnalyticDB for PostgreSQL中创建表、向量索引及混合检索的实现步骤。主要内容包括:创建`articles`表并设置向量存储格式,创建ANN向量索引,为表增加`username`和`time`列,建立BTREE索引和GIN全文检索索引,并展示了查询结果。参考文档提供了详细的SQL语句和配置说明。
67 1
【YashanDB 知识库】如何将 mysql 含有 group by 的 SQL 转换成崖山支持的 SQL
在崖山数据库中执行某些 SQL 语句时出现报错(YAS-04316 not a single-group group function),而这些语句在 MySQL 中能成功执行。原因是崖山遵循 SQL-92 标准,不允许选择列表中包含未在 GROUP BY 子句中指定的非聚合列,而 MySQL 默认允许这种操作。解决办法包括:使用聚合函数处理非聚合列或拆分查询为两层,先进行 GROUP BY 再排序。总结来说,SQL-92 更严格,确保数据一致性,MySQL 在 5.7 及以上版本也默认遵循此标准。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等