RDS MySQL 高效设计及性能调优(二)| 学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 快速学习 RDS MySQL 高效设计及性能调优。

开发者学堂课程【RDS MySQL 高效设计及性能调优 :RDS  MySQL  高效设计及性能调优(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1209/detail/18176


RDS MySQL 高效设计及性能调优


三、 RDS MySQL 产品系列

RDS MySQL 产品系列目前有三个版本:

1. 基础版:基础版是单节点实例;采用的是计算与存储分离的架构,性价比超高,更适合于个人的学习或者微型的网站或者中小型企业的开发测试环境。

2. 高可用版:采用的是一主一备的经典高可用架构,试用于80%的用户场景,像大中型的生产数据库,互联网、物联网等这些行业的数据库。

3. 三节点企业版:采用的是一主两备的三节点架构,通过多副本的同步复制,确保数据的强一致性,提供金融级的可靠性。对数据安全性要求非常高的金融、证券、保险行业的核心数据或者各大行业企业的核心生产数据,可以使用三节点企业版。

 

四、 RDS MySQL 参数模板

参数模板主要是基于数据安全性和写入性能。

图片2.png

首先了解一下参数的设置。事务提交的刷盘规则:当设置唯一=1的时候,事务提交时,每个事务的日志从缓冲区写到日志的是立刻进行写的,只要有事务完成了,它就会立刻写盘;=2的时候,是随着的操作系统后台每秒进行刷新一次的。在这种场景下,当系统出现崩溃时可能会丢失最后一秒的日志。这两个参数值相比较,=1其实是数据更安全的参数设置。再来看一下 binlog 的刷盘规则,这里它设置的是=n,即可以根据自己的需求,多少次写可以刷一次磁盘,当设置=1的时候是最安全的,就是每一次写入到 binlog ,它都会进行一次刷盘,可以做到及时刷盘。当设置为=10或者=100,它是经过了100次的写操作刷新一次磁盘,这种就是有可能还没有来得及去刷盘的时候,出现系统崩溃,也会存在丢失了日志。

复制模式有半同步复制和异步复制。半同步复制,相对于异步复制多了要将主实例执行完成后的日志同步传输到被实例,被实例收到日志,这个事务才算提交成功。但是异步没有这个动作,只要在主示例执行完成提交之后,这个事务就应当完成了,不需要备库任何的反馈。当半同步数据如果出现了异常的情况下,备实例不可用,传输到备库时备库肯定是没有反馈的,这种场景下超过一定时长,会退化成异步复制。

介绍完三个参数设置之后,来看一下的参数模板:默认的参数是半同步复制加两个都设置为1,即数据安全性最高的参数配置。当使用默认的话,数据的安全性是最高的,但是写入性能相对会较慢一些。异步复制的参数模板,可以在控制台上进行调整,可以根据需求改为异步复制。然后参数设置值也还是保持数据安全性较高的参数配置,这种场景的写入速度也会较快,因为它相对于默认模板里少了一步去被迫去做日志check,即传到的备库日志,备库日志反馈给主实例已经收到这个东西了。这个步骤相对它显露的性能会更高一些。然后还有高性能参数模板,他的复制模式是异步的,当这两个参数数据保护参数设计的都是不是特别安全的参数值,可能会存在数据丢失,数据安全性会比较一般,但是会提升写入性能,因为它将很多写字刷盘的操作进行批量合并的动作,而不是每次写、每次去做刷盘。

 

五、 RDS MySQL 的实战场景

RDS MySQL 实战场景在电商、金融网站、游戏、通用大数据等这些场景都是适用的。

在高并发场景,有热点数据的高并发更新性能的优化、也提供了IP的白名单,防 SQL 注入等;金融场景提供企业级的三节点版本,它能够保证数据常一致性,也满足金融级的可靠性要求,同时也提供双机热备、同城、异地三中心部署的架构,充分满足金融级的合规可靠性的要求;像网站这样的高性价比场景,可以做到开箱即用,高性价比的数据库产品,只要创建实例,同时就具备了全套的备份、恢复监控等一系列的运维方案;在游戏行业的高可用场景下,提供了随时闪回到任意时间点的功能,且计算资源是可弹性伸缩的。主备双节点架构搭配了高安全链路,实现全自动的无感知容灾的切换,然后稳定性也会较好;通用大数据的计算, MySQL 作为在线的数据库存储服务,可以搭配 ADB 、 MapReduce 等这些产品,满足我们日常的日志分析、数据仓库、商业智能等业务,借助于 DTS 或者 Binlog dump 可以订阅 Binlog 的获取我们更新的日志等。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
SQL 监控 关系型数据库
MySQL性能调优:监控和优化
MySQL性能调优:监控和优化
142 1
|
2月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
134 6
|
2月前
|
SQL 关系型数据库 MySQL
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
MySQL中用于数据检索的`fetchone()`, `fetchmany()`, `fetchall()`函数的功能、SQL语句示例和应用场景。
69 3
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
|
2月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
75 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
2月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
69 1
|
6月前
|
SQL Oracle 关系型数据库
MySQL学习笔记
MySQL学习笔记
41 0
|
4月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
60 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
4月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
164 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
4月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
40 6
|
4月前
|
SQL 关系型数据库 MySQL
MySQL学习笔记
这篇文章是一份关于MySQL数据库操作的学习笔记,涵盖了数据库的终端操作、数据类型、建表约束、事务处理以及SQL的连接查询等基础知识点。