视频 -AliSQL 和读写分离基本原理(三)| 学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习视频 -AliSQL 和读写分离基本原理。

开发者学堂课程【企业运维训练营之数据库原理与实践课程 :视频 -AliSQL 和读写分离基本原理(三)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1201/detail/18284


视频 -AliSQL 和读写分离基本原理


四、实例管理

1、创建实例

(1)进入 RDS 控制台,左上角点击“创建实例”,进入创建实例流程页面。

image.png

用自己的账户登录到阿里云控制台的首页,在左上角搜寻云数据库 RDS 版,就可以到达云数据库的控制台。在控制台可以点击左侧导航栏的第二个,是实例列表,可以看到内部测试账号展示的所有实例。

image.png

如果想新建实例,点击左上角创建实例按钮,会跳转到创建实例的页面。

image.png

在这个页面中包含付费方式,有包年包月和按量付费。包年包月是预付费的形式,按量付费是后付费,可以根据每个小时出一次价格,根据不同的规格、不同的性能判定这一个小时 RDS 实例需要多少价格。

(2)可以选择地域,这里有中国境内的 region,还有亚太欧美和中东印度的 region。测试实例选择杭州。

image.png

RDS 提供了很多数据库类型,包含 MySQL、Polar、PostgreSQL、Microsoft SQL Server,这些都是客户常见创建的类型。以 MySQL 8.0作为演示的实例,还有其他的版本,包含主流的5.5、5.6、5.7,PG 有10、11一直到14,SQL server 有各种标准版和企业版,用户在创建的时候可以根据自己的需求创建不同的数据库类型。

image.png

(3)有不同的系列,包含基础版、高可用版和三节点企业版。

image.png

基础版只有一个主节点对外提供服务,是不保证高可用的,存在单点故障的风险。当主实例因为某种意外的原因无法对外提供服务时,业务也将进行停止,一般对于商用的或者对大型的业务有高可用需求的不建议客户创建基础版规格系列。基础版主要是针对平常的测试或个人需求、学习等简单的业务场景下创建基础版。

高可用版有99.99%的可用性,对外提供一个主节点和一个备节点,平常备节点是不对外提供服务的,只有当主节点出现一些意外的情况,会进行主备切换。Ha 就是备节点切换为主节点进行服务,这是一个高可用性保证业务的连贯性。

三节点企业版是对可用性要求比较高的客户推出的系列,除了主节点和备节点,还提供一个日志节点来进行高可用的保障。

存储类型可以根据不同的需要选择磁盘的类型,有 PL1、PL2、PL3云盘,还有本地 SSD 盘。

image.png

可以点击如何选择存储类型,里面有具体的文档可以进行参考,所有不同的云盘和级别提供了不同的IO和吞吐量。

image.png

(4)选择主节点的可用区,每个 region 都是有不同的可用区的。

image.png

实例规格有不同的规格码,代表不同的 CPU 内存和最大连接数等等资源,相应的价格也会有所不同。可以根据自己平常业务的预估判断需要创建怎样的规格类型,演示可以创建一核1G的,最大连接数是300,每个月140元。

image.png

然后是存储空间,首先对初期业务数据量的必要的评估,选择不同的存储空间作为基础的存储。如果随着后续客户的业务数据量不断的增大,后续可以进行扩容。

image.png 

接着可以选择释放后备份的保护策略,可能在客户删除实例之后,有可能是误删除,或者是基于未来的考量,想在某一段时间之后将实例恢复,可以选择不同的备份保证后续的恢复。

image.png

(5)下一步会进行实例配置,首先是网络类型,支持经典网络和专有网络,根据线上很多客户主流选择专有网络,下面会创建一个 VPC 选择网段,VPC 下面有交换机。

image.png

第二块是默认的存储引擎,这里由刚才讲到的第一部分内容 X-Engine,可以用 AliSQL 的存储引擎,需要注意的是只有 MySQL 8.0版本可以使用,5.5、5.6、5.7暂时不支持,首先需要进行大版本升级,升级到8.0才可以进行选择。参数可以选择表名大小写,不同的用户有不同的需求。一般境内的客户时区都会选择 utc+8的时区。

image.png

还有小版本升级,在大版本5.5、5.6、5.7当中会有一些特性的 myfix,或者是一些更高级别的小特性融入到各个大版本当中,为了保证业务的流畅和稳定,会有不同的小版本,要让客户定期或者是根据自己的意愿进行小版本的升级,后期也会讲到小版本是如何升级的,有不同的小版本,可以选择自动升级或手动升级。

image.png

填写完第一步的规格、区域、Region、存储空间以及第二步的一些网络的信息,就可以确认订单,跳转到以下页面就可以确认刚才所选的信息是否准确。

image.png

刚才选择的时长是包年包月的方式,是一年,还有实例的个数可以选择,如果想到期自动续费,也可以选择是否自动续费,点击服务协议,就可以支付创建,这是数据库创建的流程。返回到实例列表看创建的流程,可以看到,刚才创建的实例正在创建中。

image.png

2、变更配置

第二部分是变更配置,在平常的使用当中,随着业务或者是其他的性能要求方面,可能原先创建的实例满足不了性能,比如说刚才创建的实例规格很小,是1核1G 的,面对大量的连接或者是 CPU 占用比较高的 SQL 请求,难以应付,此时需要更高规格、更多资源的实例。可以进行实例的变更配置,通过变更配置来提高 CPU 内存或存储空间的功能,达到变配的目的。需要注意的有几点,第一点是进行规格系列选择的时候,系列、规格还有存储空间,这些变配项目都需要选择;第二点是在变配期间可能会出现30秒的闪断,建议客户在进行变配操作的时候,选择在业务低峰期操作,并确保应用有重连机制;第三点需要注意的是创建的时候要有选择切换时间,为了更好地满足客户任务切换分配,设置了一个切换时间。比如在晚上八点发起一个变配任务,但这个时候选择的时间是在运维窗口切换,这个运维窗口有可能在业务低峰期,假如是凌晨两点到六点,这个时候变配任务会在八点开始进行,在凌晨两点的时候所有工作都已完成,在等待切换,两点到六点正好是业务低峰期,在这个时间窗口就会进行切换,对于客户的业务影响是最小的。还有其他的一些情况,比如要立即切换,这也是可以让用户自主选择的。下面进行实例的变配任务,首先,简单介绍一下面板里基本信息展现的内容。

image.png

有一些基础信息,可能在创建实例的时候已经确认了,有存储类型、实例类型、可用区,还有运行状态,可以点击续费处理,包年包月转按量,第三个是一些配置信息,资源是多少、可运维时间段,最下面是存储空间的使用情况。这涉及到可以进行配置的变更,这个测试实例大数据库版本是5.5,两核 4G 的实例。当实例不够用时,可以点击变更配置按钮,立即升配或者降配。

image.png

演示立即升配,立即升配当中需要选择不同的规格,原来是两核4G,可以选择两核8G或者更高的配置。

image.png

存储空间也可以选择大一些,规格、资源、存储空间都选完之后,选定切换时间。切换时间分为立即执行和可维护时间内进行切换,一般建议选择可维护时间执行,业务低峰期对数据库的影响是最小的。

image.png

点击服务协议,点击去支付,会弹出一个框,展示变配的差异。

image.png

在配置信息页面,有一个可维护时间段,可以供客户自己选择,一般是凌晨两点到六点,可以根据自己的需要进行设置。

3、升级大版本/小版本

升级数据库版本包含两部分内容,第一部分是升级数据库大版本,大版本支持5.5到5.6,5.6到5.7,切换时间和变更配置是一样的;第二部分是升级内核小版本,可能在每一个大版本下,会有一些兼容性更好的特性发布,就可以进行小版本的升级,解决当前的问题或者是让性能更好、兼容性更好。

(1)升级数据库版本:

支持在控制台进行如下形式的版本升级:

•RDS MySQL 5.7 → RDS MySQL 8.0

•RDS MySQL 5.6 → RDS MySQL 5.7

•RDS MySQL 5.5 → RDS MySQL 5.6

image.png 

选择切换时间。

•立即切换:数据迁移后立即切换。

•可维护时间内进行切换:在可维护时间段内执行切换操作。

(2)升级内核小版本:

image.png

(3)到控制台进行实际的操作演示,首先进行数据库大版本的升级,选择了一个数据库版本较低的5.5,点击升级数据库版本。

image.png

可以看到他是不支持,直接从5.5到5.7或8.0的,需要一步一步的升级,首先将5.5升级到5.6,选择是立即切换,还是在可维护时间段内进行切换,点击确定。数据库小版本显示的是已经是最新版本,没有办法再升级。

下面找一个不是最新版本的进行升级演示。下面显示的数据库小版本不是最新的,可升级至某某版本。

image.png

在变更配置旁边有一个升级内核小版本连接额,可以点开,点开以后在下拉框里有供数据库选择的小版本,选择相应的小版本,升级时间是一样的。会有提示,小版本会重启实例,有30秒的闪断和变更配置,要保证重连机制。

image.png

4、迁移可用区

在控制台上的基本信息区域,点击“迁移可用区”。

image.png

假如客户端部署在阿里云的 RDS 上,数据库实例部署在阿里云的数据库实例,如果 ECS 和 RDS 实例同在一个VPC 下,内部网络也能够保证内网的高速访问。有些在同一个 VPC,但不在同一个可用区,但是有一些客户在线上提供服务的时候有这样的需求,进行一个可用区的变更,希望数据库实例跟客户端 ECS 实例放在同一个可用区里,这个功能 RDS 是支持的,这样可以在控制台进行迁移可用区的操作。基本信息里,在设置白名单旁边有一个迁移可用区按钮。

image.png

地域和可用区可以在基本信息中查看,点击迁移可用区就可以进行选择,备实例可以在不同的可用区,也可以在相同的可用区,VPC 和交换机会发生相应的变化。迁移可用区也会出现一次闪断,保证的机制和以上变更配置都是一样的。

5、备份恢复—备份

备份恢复出于数据的可用性或者安全进行考虑,出现误删除或者是数据的丢失,想通过备份快速的恢复到实例上,进行日常的备份。备份有数据备份和日志备份,备份的周期和频率也可以在控制台上进行设置。

在控制台左侧点击“备份恢复”

image.png

备份:

•备份设置:设置备份保留天数,备份周期,和下次备份具体的执行时间等;

•日志备份:开启日志备份策略,可以实现按时间点恢复。

6、备份恢复—恢复

数据恢复方案概览

image.png

(1)阿里云 RDS 提供恢复的手段非常丰富,上图列举了一些需要恢复的场景或解决方案。第一个是恢复误释放的实例,进入回收站,可以在一定时间内找到实例进行恢复;已删除的实例备份:如果是本地盘实例设置开启了实例释放后保留备份,可以在已删除实例备份下恢复。在创建实例页面,有一个选项叫删除释放实例后的备份保留策略,不小心将数据库删除释放后,选择保留最近的备份或者是保留全部备份,在数据库实例删除之后可以利用那些备份进行恢复,如果选择释放实例后不保留备份,备份也会进行删除。第二个是恢复误删除的数据,恢复全量或者库表。有刚才在 AliSQL 提到的 united States deck,会快速的恢复误删除的数据,通过指定 time stack,进行恢复。还有阿里云提供的很多丰富的工具,比如说 DBS 的逻辑备份,可以持续将阿里云的数据库备份备份出来,进行恢复。还有一块是数据迁移,有一些备份文件在线下 adc 机房自建的数据库有一些备份,但是这些备份需要恢复到云上创建一个和 adc 一模一样的实例,可以通过备份文件恢复到本地,或者是恢复到云上。

(2)备份恢复也可以在控制台上进行简单的操作和演示,点击左侧导航栏的备份恢复,可以进入到一个备份的页面。

image.png

备份有四个页签,分别是数据备份、日志备份、备份下载、备份设置。数据备份会进行数据库的全量的数据备份,有备份的时间点,有供客户的下载和恢复,比如想看里面的一些数据,或者是想下载到本地,恢复到一些其他自建的实例上,都可以进行备份下载。可以点击恢复将备份文件恢复到一个实例上,但是恢复是恢复到另外一个实例。

image.png

在某些情况下,可以选择用数据库备份进行恢复,恢复到一个新实例上,在验证新实例数据上的可用性或可靠性,或者是数据的一致性,没有问题可以将原始数据进行删除。在恢复页面支持选择不同的规格,可以根据需要选择不同的系列、规格、CPU 内存资源和存储空间。

image.png

(3)日志备份会将 MySQL 的 binlog 持续的备份,也是可以供客户在界面上下载。备份下载记录的是在什么时间什么用户下载的备份。最后可以进行备份的设置,可以设置备份的时间频率,还有策略。点击编辑,

image.png

设置备份的周期,可以选择时间,有一个建议,为了数据安全,请一周至少备份两次 RDS。如果只备份一次,七天一个间隔,业务量大的话,如果出现极端情况,这一次备份和上一次备份会出现较大的数据损失,为了确保安全,可以每天都备份。备份时间可以选择业务低峰期,备份保留天数默认是七天,最大可以是730天。还有本地日志的保留策略,就是 binlog 的保留策略,Binlog 会占用本地存储的空间,设置最大存储占有率的时候,建议占的少一些。注意:超出设定的占有率后,系统会自动开始清理最早的 binlog 文件。假如现在 binlog 已经占用了10%或者十几,前面的 binlog 会被删除。

image.png

7、调整参数

在控制台实例详情页面,点击左侧导航栏中的“参数设置”。

image.png

注意事项:

•为保证实例的稳定,仅支持对控制台中开放的参数进行修改,未在控制台中呈现的参数,不支持修改。

•部分参数修改后需要重启实例,具体请参见控制台上可修改参数页面中的是否重启列。建议在业务低峰期操作,并确保应用程序具有重连机制。

(1)在 RDS 控制台页面提供一些 MySQL 给客户公开出来可以修改的参数,这些参数并不是所有的 MySQL 内部的参数进行暴露,有一些非常重要的参数不会暴露给用户,由后台专业的研发同学或系统进行维护,不是可以随便修改。暴露出的参数是可以根据客户的业务特点,比如超时、连接数可以进行评估和修改。没有在控制台上展示的参数,原则上是不允许修改的,有些参数需要重启实例,有些参数不需要,所以在修改参数的时候需要查看一下是否重启这一列,是的话需要重启,否的话不需要重启。需要注意,重启可能会导致业务出现断联,修改参数如果是会重启实例的参数,建议在业务低峰期操作,重启的时候对业务的影响比较小。

(2)在参数设置页面会展现很多参数,这些参数都有特定的含义,点击运行参数值,可以点击编辑,可以看到他支持的范围,可以根据自己的需求修改。

image.png 

找一个会重启数据库实例的参数进行修改,修改完点击确定会进行提交,提交之后就会重启数据库实例,每个参数具体的描述可以点击相应的小叹号,会展示出来参数的具体含义,这些参数可能是英文版。还有一些应用模板,导出参数模板,这一套参数想应用到其他实例,可以用导出模板。还支持一些导入的参数值,有些客户在线上可以看到昨天的参数值和今天的参数值有些不同,想知道是谁在什么时候对这个参数进行了修改,可以查看修改参数的历史。

8、主备切换

主备切换的前提是实例是高可用以上的实例架构,基础版没有主备切换这一功能。高可用以及三节点企业版都支持主备切换,支持在控制台上设置切换,切换有两大类,一类是自动切换,一类是手动切换,实例默认开启自动切换,高可用检测到主实力出现某种故障,就会进行 ha。手动切换客户会有一些自己的判断,可以设置为手动切换,比如说用于容灾演练或多可用区场景下的就近连接等需求。

image.png

RDS 实例进行主备切换的原因有如下几种:

•风险隐患:阿里云检测到实例存在潜在风险,可能影响实例的正常使用,系统会在备实例修复风险项,并且在可维护时间段

发起主备切换。紧急风险修复类事件通常会在第一时间修复并触发主备切换。

•人工操作:您或者您授权的阿里云技术专家手动发起的主备切换。

•实例故障:阿里云检测到实例发生故障,无法正常使用,系统会发起主备切换,及时恢复业务正常运转,缩小故障影响范围。

主备切换在服务可用性左侧导航,可以看到自动切换主备是默认开启的,可以选择关闭或者是开启。可以手动进行主备库的切换,选择切换的时间可以是立即切换或者是设置的时间内切换,实例主备切换可能会有1到2次的闪断,实力要有重连的机制保障安全。

9、监控报警 —监控

在实例详情页面,点击左侧导航栏的“监控与报警”

image.png

监控报警是日常数据库运维中比较常用的功能,需要实时监控 CPU 内存或 IOPS 存储空间等资源,需要设置已值,当 CPU 到达80%或90%时,需要有告警机制通知相关的运维人员或研发人员,进行接下来的处理或操作。CPU 出现90%可能是有问题,出现慢查询或者是当时的流量过高,需要进行紧急的排查。另一方面,也有可能是就是水位已经比较高,业务比较繁忙,平常的水位就已经达到已值,接下来的操作会进行扩容,回到刚才的实例变配,申请更多的CPU资源。监控报警是常见的运维手段,RDS 数据库也提供了非常丰富的监控的指标项和监控场景。

10、监控报警 —报警

(1)开启一键告警按钮,能够快速建立RDS的报警体系,可以及时知晓关键监控项的异常。

image.png

对于监控项可以设置报警,可以建立一些报警规则和通知规则,当实例触发了报警的阈值或者条件的话,会及时通过相关的方式,比如通过电话,邮件,钉钉等方式,通知相关的人员进行进一步处理。

(2)在控制台页面,点击左侧导航的监控与报警,这里会看到一些非常丰富的指标项,包含资源监控,资源监控主要指的是数据库实例存在的速度机枪和平常用的资源,CPU 内存在怎样的水位,存储空间还有会话连接等等,还有丰富的监控项。

image.png

第二部分是引擎监控,对于 MySQL 一些内部的引擎,InnoDB 的一些监控指标项,他的读写还有 QPS 和 TPS 来监控业务是否正常,或者是突增。

image.png

(3)可以设置一些报警,可以开启一键报警,也可以按照报警规则进行设置。点击报警规则设置按钮跳转到另一个界面进行报警设置。

image.png

image.png

报警规则是 RDS 跟云监控一起联合开发的应用,演示创建报警规则,产品选择云数据库 RDS 版,资源范围是实例。添加一些规则,规则名称叫 CPU 使用率高于80%,监控指标选择 CPU 使用率,在阀值及报警级别可以定义级别,80%可以把它定为紧急,还可以选择最小值、最大值、平均值,在这里选择平均值。连续三个周期,一个周期一分钟,就是三个周期在三分钟之内连续三个周期一直达到80%就会发生告警,阈值线非常形象的显示了,这是实际使用的 CPU 利用率,当他达到80%的时候,就会触发阈值条件。生效时间是全天生效,报警组可以在云监控里设置,最后点击确定,一个报警规则就生成了。

image.png

设置告警规则:

image.png

11、(1)基本信息里有设置白名单的链接,默认创建数据库之后,默认不允许其他指引访问这个数据库,如果需要其他的客户端访问数据库实例,是需要添加白名单的。可以根据自己的需要设置白名单,而0.0.0.X/0表示对所有实例进行开放,这种情况一般用于测试,一般情况下不建议全部放开。

image.png

(2)账号管理可以在控制台内数据库进行账号的管理和创建,创建账号有高权限账号和普通账号 。

image.png

高权限账号相当于很高的权限账号,读写都会有的账号,每一个实例只允许创建一个高使用账号,可以选择一个普通的账号,精确的授权,授权到相应的库。

image.png

(3)数据库管理可以进行数据库的创建,可以选择相应的字符集。

image.png

(4)数据库连接配置有默认的内网地址,也可以申请外网地址,让实例走外网。

image.png

(5)数据库代理可以设置读写分离,数据库代理个数最大是60,可以设置为2,点击立即开启。

image.png

(6)RDS 数据库是可以用 SSL 链接进行数据加密,一些对安全性要求较高的客户,为了防止数据被盗取,会有这方面的需求,可以点击 SSL 进行设置。

image.png

(7)自治服务是阿里云沉淀的优化功能,后期会有专门的内容介绍数据库自治功能。基于多年的阿里云数据库专家对于线上的故障分析或性能分析、SQL 分析等等经验沉淀下来的自治工具,加上继续学习的功能,预测实例的功能或性能的走向进行判断,包含慢 SQL 优化、SQL 限流、碎片空间整理等等功能会非常丰富。这就是整个控制台关于数据库实例运维的操作介绍。

 

五、总结

本节主要内容包含三块,第一块是 AliSQL 的功能,首先讲到了 X-Engine 的发展的背景和历程,在其上的 AliSQL 都实现了哪些特性,从功能、性能有不同的特性供客户使用。第二块了解了读写分离的原理和功能,在大量读请求和少量写请求的情况下可以优化这样的架构,实现读写分离的功能。第三块是在控制台如何管理 RDS 实例的相关的操作,包括创建、变配、迁移可用区、升级版本等等,通过本节课程希望大家对阿里云数据库的实际运维有简单的了解,对内核方面的知识有一定的了解,还有一些读写分离,帮助我们在实际日常业务过程中有一个更好的架构,帮助实例的性能得到提高。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
SQL 存储 缓存
ChangeStreams使用及原理
作者 | 陈星(烛昭)
ChangeStreams使用及原理
|
SQL 存储 运维
视频 -AliSQL 和读写分离基本原理(二)| 学习笔记
快速学习视频 -AliSQL 和读写分离基本原理。
197 0
视频 -AliSQL 和读写分离基本原理(二)| 学习笔记
|
SQL 存储 缓存
视频 -AliSQL 和读写分离基本原理(一)| 学习笔记
快速学习视频 -AliSQL 和读写分离基本原理。
157 0
视频 -AliSQL 和读写分离基本原理(一)| 学习笔记
|
存储 SQL 缓存
PostgreSQL 复制原理及高可用集群(一)|学习笔记
快速学习 PostgreSQL 复制原理及高可用集群(一)
355 0
PostgreSQL 复制原理及高可用集群(一)|学习笔记
|
Oracle 关系型数据库 数据库
PostgreSQL 复制原理及高可用集群(二)|学习笔记
快速学习 PostgreSQL 复制原理及高可用集群(二)
217 0
PostgreSQL 复制原理及高可用集群(二)|学习笔记
|
SQL 监控 关系型数据库
ShardingSphere -读写分离(概念)| 学习笔记
快速学习ShardingSphere -读写分离(概念)。
178 0
ShardingSphere -读写分离(概念)|  学习笔记
|
运维 NoSQL 数据可视化
复制集使用及原理介绍(一)|学习笔记
快速学习复制集使用及原理介绍
126 0
复制集使用及原理介绍(一)|学习笔记
|
SQL 运维 NoSQL
复制集使用及原理介绍(二)|学习笔记
快速学习复制集使用及原理介绍
226 0
复制集使用及原理介绍(二)|学习笔记
|
存储 负载均衡 NoSQL
分片集群使用及原理介绍(二)|学习笔记
快速学习分片集群使用及原理介绍
274 0
分片集群使用及原理介绍(二)|学习笔记