云盘算之数据库

[复制链接]
发表于 2026-1-26 15:36:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
目次

一、RDS产物先容及排障思绪
1.1 云RDS数据库及其特点
1.2 云RDS数据库-规格
1.3 云RDS数据库-存储
​1.4 云RDS数据库-安全
​1.5 云RDS数据库-团体架构 
1.6 RDS常见标题排查
​1.6.1 怎样办理无法链接RDS实例的标题
1.6.2 RDS实例存储空间使用率高,怎么排查
1.6.3 RDS Mysql主从延伸标题
二、Redis产物先容及排障思绪
2.1 Redis先容
2.2 产物架构
2.3 性能指标与监控监控
2.4 备份与规复
2.5 Redis实例CPU使用率高的标题
2.6 排查Redis实例内存使用率高的标题
2.7 Redis常见标题
三、PolarDB产物先容及排障思绪
3.1 PolarDB先容
3.2 PolarDB毗连信息和方式
3.3 产物架构-PolarDB MySQL企业版
3.4 产物架构-PolarDB MySQL标准版
3.5 集群白名单&账号管理
3.6 诊断与优化
3.7 PolarDB MySQL版CPU使用率高标题
3.8 空间标题
3.8.1 集群的存储空间占用忽然升高,怎样举行排查?
3.8.2 为什么新创建的数据库中没有任何数据,就已经产生了磁盘使用量?
3.8.3 为什么从其他异构数据库导入数据时会占用更多的存储空间?
3.8.4 集群的存储空间是否包罗备份空间?
3.8.5 InnoDB引擎中使用DROP下令删除索引后,是否会开释磁盘空间?
3.9 PolarDB死锁
3.10 PolarDB MySQL常见标题
总结


一、RDS产物先容及排障思绪

1.1 云RDS数据库及其特点


1.2 云RDS数据库-规格


根据业务选型:

1.3 云RDS数据库-存储

本土地盘算与存储一体,因此I/O时延很低,性能很好。而云盘存储接纳的盘算与存储分离,因此机动性较大,I/O时延相对较高。
1.4 云RDS数据库-安全


通过设置安全组来控制哪些ip可以访问通过,哪些ip访问不通过。
1.5 云RDS数据库-团体架构 



1.6 RDS常见标题排查



1.6.1 怎样办理无法链接RDS实例的标题

传送门:https://help.aliyun.com/zh/rds/apsaradb-rds-for-mysql/what-do-i-do-if-i-fail-to-connect-to-an-apsaradb-rds-instance?spm=a2c4g.11186623.0.0.385f6d29lDsbVO
1.6.2 RDS实例存储空间使用率高,怎么排查

传送门:https://help.aliyun.com/zh/rds/apsaradb-rds-for-mysql/faq-about-storage-capacity?spm=a2c4g.11186623.0.0.18966314WRlr14
1.6.3 RDS Mysql主从延伸标题

传送门:https://help.aliyun.com/zh/rds/apsaradb-rds-for-mysql/what-do-i-do-if-my-read-only-apsaradb-rds-for-mysql-instance-synchronizes-data-from-its-primary-instance-at-a-latency?spm=a2c4g.11186623.0.i9
二、Redis产物先容及排障思绪

2.1 Redis先容

云数据库Redis版(ApsaraDB for Redis)是兼容开源Redis协议标准的数据库服务,基于双机热备架构及集群架构,可满足高吞吐、低延伸及弹性变配等业务需求。
2.2 产物架构




标准版

接纳主从模式搭建。主节点提供一样平常服务访问,从节点提供HA高可用。当主节点发生故障,体系会主动在30秒内切换至从节点,保障业务安稳运行。

集群版

由署理节点、数据分片和设置服务器组件构成,可通过增长数据分片的方式实现横向扩展。每个数据分片均为双副本(分别摆设在差异呆板上)高可用架构,主节点发生故障后,体系会主动举行主从切换包管服务高可用。

读写分离版

由署理节点、主从节点和只读节点构成。只读节点采取链式复制架构,扩展只读节点个数可使团体实例性能呈线性增长。

2.3 性能指标与监控监控

  2.4 备份与规复



2.5 Redis实例CPU使用率高的标题

Redis CPU使用率升高大概是由于以下三种缘故原由:


  • 高并发、高吞吐的业务斲丧较多CPU资源,假如CPU资源未到达瓶颈,属于正常业务场景
  • 业务运行超预期,Redis实例的CPU资源无法满足业务需求,可通过增长分片数、副本数大概升级为企业版来办理资源瓶颈
  • 使用不妥,比方高斲丧下令、热Key、大Key等,导致CPU使用率非常升高
当匀称CPU使用率高于70%、一连5分钟内的CPU匀称峰值使用率高于90%时,必要及时关注并排查该标题,以保障应用的稳固运行。
哪些因素会导致CPU使用率非常升高


  • 高斲丧下令:即时间复杂度为O(N)的下令,此中N为较大值,比方KEYS、HGETALL或使用MGET、MSET、HMSET、HMGET一次利用大量Key等。通常情况下,下令的时间复杂度越高,在实行时会斲丧越多的资源,从而导致CPU使用率上升。由于下令实行单元为单线程的特性,Redis在实行高斲丧下令时会引发列队导致应用相应变慢。非常情况下,乃至大概导致实例被团体壅闭,引发应用超时克制或流量跳过缓存层直接到达后端的数据库侧,引发雪崩效应。
  • 热Key:某个或某部分Key的哀求访问次数显着高出其他Key时,代表此时大概产生了热Key。热Key将会斲丧Redis的大量CPU资源,从而影响其他Key的访问时延。而且,在集群架构中,假如热Key较为会合地分布在部分数据分片节点,大概会导致CPU使用率倾斜(个别分片的CPU使用率远超其他分片)。
  • 大Key:大Key会占用更多的内存,同时,对大Key的访问会显着增长Redis的CPU负载和流量。大Key在肯定程度上更容易形成热门从而造成CPU使用率高。假如大Key较为会合地分布在部分数据分片节点,大概会导致CPU使用率倾斜、带宽使用率倾斜及内存使用率倾斜。
  • 短毗连:频仍地创建毗连,导致Redis实例的大量资源斲丧在毗连处置处罚上。
  • AOF:阿里云Redis实例默认开启了AOF(append-only file),当实例处于高负载状态时,AOF的写盘活动将会导致CPU使用率升高及实例团体的相应时延增长。
2.6 排查Redis实例内存使用率高的标题

Redis内存不敷时,大概导致Key频仍被逐出、相应时间上升、QPS(每秒访问次数)不稳固等标题,进而影响业务运行。假如发现Redis内存占满或收到内存告警,可参考资助文档判断内存占用是否恒久过高、内存占用是否忽然上升、是否发生内存倾斜,并通过拆分大Key,设置逾期战略,升级规格等方法办理标题。
内存使用率高的征象分类:
内存使用率在较长一段时间内不绝处于较高水位。通常,当内存使用率高出95%时必要及时关注。
内存使用率不绝较低,但从某个时间点开始忽然上升至较高水位,乃至到达100%。
实例团体的内存使用率较低,但某个数据分片节点的内存使用率靠近100%。
传送门:https://help.aliyun.com/zh/redis/user-guide/troubleshoot-the-high-memory-usage-of-an-apsaradb-for-redis-instance
2.7 Redis常见标题


三、PolarDB产物先容及排障思绪

3.1 PolarDB先容

PolarDB是一个关系型数据库云服务,如今已在举世十多个地区(Region)的数据中心摆设,向用户提供开箱即用的在线数据库服务。PolarDB如今支持3种独立的引擎,分别可以100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法,存储容量最高可达100 TB。详情参考:什么是PolarDB MySQL企业版、什么是PolarDB MySQL标准版。 PolarDB MySQL版企业版和标准版在功能上有很多差异,可分为集群管理、弹性管理、高性能、备份与规复、高可用性、高安全、毗连管理、高性价比、监控监控与优化、DB for AI、数据迁移&同步等11个种别。
3.2 PolarDB毗连信息和方式

可以通过以下方式管理PolarDB My SQL版集群,包罗创建集群、创建数据库、创建账号等。


  • 控制台:提供图形化的Web界面,利用方便。
  • CLI:控制台上全部的利用都可以通过CL!实现。
  • SDK:控制台上全部的利用都可以通过SDK实现。
  • API:控制台上全部的利用都可以通过AP1实现。
创建PolarDB MysQL版集群后,可以通过以下方式毗连PolarDB MysQL版集群:


  • DMS:您可以通过DMS毗连PolarDB集群,在Web界面举行数据库开辟工作。
  • 客户端:您可以使用通用的数据库客户端工具毗连PolarDB MysQL版集群。比方MysQL-Front. HeidisQL等
3.3 产物架构-PolarDB MySQL企业版

云原生数据库PolarDB基于Cloud Native计划理念,既融合了商业数据库稳固可靠、高性能、可扩展的特性,又具有开源云数据库简朴开放、快速迭代的上风。产物架构如下:

PolarDB MySQL版的产物架构具有如下特点:
一写多读:
PolarDB接纳分布式集群架构,一个集群版集群包罗一个主节点和最多15个只读节点(至少一个,用于保障高可用)。主节点处置处罚读写哀求,只读节点仅处置处罚读哀求。主节点和只读节点之间接纳Active-Active的Failover方式,提供数据库的高可用服务。
盘算与存储分离:
PolarDB接纳盘算与存储分离的计划理念,满足公共云盘算情况下根据业务发展弹性扩展集群的刚性需求。数据库的盘算节点(Database Engine Server)仅存储元数据,而将数据文件、Redo Log等存储于远端的存储节点(Database Storage Server)。各盘算节点之间仅需同步Redo Log相干的元数据信息,极大地低沉了主节点和只读节点间的复制延伸,而且在主节点故障时,只读节点可以快速切换为主节点。
读写分离:
读写分离是PolarDB集群版默认免费提供的一个透明、高可用、自顺应的负载平衡本领。通过集群所在,SQL哀求主动转发到PolarDB集群版的各个节点,提供聚合、高吞吐的并发SQL处置处罚本领。
高速链路互联:
数据库的盘算节点和存储节点之间接纳高速网络互联,并通过RDMA协议举行数据传输,使I/O性能不再成为瓶颈。
共享分布式存储:
多个盘算节点共享一份数据,而不是每个盘算节点都存储一份数据,极大地低沉了用户的存储本钱。基于全新打造的分布式块存储(Distributed Storage)和文件体系(Distributed Filesystem),存储容量可以在线平滑扩展,不会受到单个数据库服务器的存储容量限定,可应对上百TB级别的数据规模。
数据多副本、Parallel-Raft协议:
数据库存储节点的数据接纳多副本情势,确保数据的可靠性,并通过Parallel-Raft协议包管数据的同等性。 
3.4 产物架构-PolarDB MySQL标准版

PolarDB MySQL版的标准版是PolarDB全新推出的数据库集群范例,接纳阿里云全新一代高性能低本钱的盘算和存储底子办法,用户使用较低的本钱即可享受到PolarDB的焦点本领。
接纳盘算与存储分离的架构,数据库署理和盘算节点分别接纳独立的ECS举行摆设,共享存储层使用ESSD云盘,极大的低沉了用户使用PolarDB的本钱。

PolarDB MySQL版的标准版接纳通用的底子办法,用户使用较低的本钱即可享受到PolarDB的焦点本领:


  • PolarDB MySQL版的标准版和企业版共用一套内核。多年深度优化的PolarDB数据库内核,相对开源的内核大幅提拔了数据库性能。
  • 接纳最新一代阿里云高性能盘算和存储底子办法,客户使用本钱大幅降落。
  • 云原生的盘算和存储分离架构,一写多读,机动弹性,设置起落级和增长节点分钟级收效。
  • 多个盘算节点共享存储,新增只读节点时只需付出盘算节点费用,大大低沉了扩容本钱。
PolarDB MySQL版提供基于X86和ARM两大主流CPU架构的集群:


  • X86:X86架构搭载英特尔处置处罚器,配套高性能网络,综合性能及稳固性全面提拔,满足对业务稳固性及盘算性能要求较高的企业级应用诉求。
  • ARM:ARM架构底层接纳阿里云自研倚天710处置处罚器芯片及25 GE智能高速网卡,提供强劲的盘算本领。配套高性能网络,能更好地满足当局、互联网等各类企业对云上业务的高性价比、安全稳固等诉求。
3.5 根本功能-控制台
可以看到实例全部的信息,地区、VPC、盘算付费范例、可用区、交换机、创建时间、兼容性、可维护窗口、系列、到期时间、内核版本等等的信息。

第二部分是白名单于账号,可以点击蓝色的字体直达对应的部分。

第三部分是数据库毗连,包罗主所在、集群所在以及是否有自界说所在。

可以点击查察对应的集群所在设置,内里会有集群所在的路由战略。

3.5 集群白名单&账号管理

创建PolarDB MySQL版数据库集群后,您还必要设置集群的IP白名单,并创建集群的初始账号,只有已添加到白名单中的IP所在或安全组中的ECS实例才华访问该集群。

PolarDB支持高权限账号宁静凡账号这两种数据库账号,您可以在控制台管理全部账号。出于安全缘故原由,PolarDB不提供root账号。此中,云上的实例没有super权限。假如只支持库级别的权限设置,更细的权限必要下令行的方式。

3.6 诊断与优化

重要涉及有一键诊断,内里包罗一些非常变乱、会话管理、及时性能、所分析、空间分析、诊断陈诉和性能洞察。比力常见的是 非常变乱以及会话管理。
日记管理:重要是一些运行日记
慢SQL: 实行时间高出long_query_time的SQL
日记与审计:属于洞察部分,可以用于记载查察客户实行的SQL。

3.7 PolarDB MySQL版CPU使用率高标题

CPU作为数据库最焦点的资源,是一样平常运维中必要重点关注的对象。CPU用满,会导致应用RT增高、业务卡顿,更严峻会导致数据库实例hang死、发生HA等标题,严峻影响现网业务。正常情况下,对于CPU的监控必要设定安全水位,超出安全水位时要及时举行处置处罚,否则会引发不可预期的严峻结果。
随着业务的增长,数据库集群的规格大概已经不能满足业务流量的上涨需求。此时由于流量的不绝增长,数据库集群的使用率渐渐提拔,CPU使用率也渐渐升高。假如从性能曲线举行观察,一定存在某个指标(如QPS/IOPS)呈上涨趋势,与CPU使用率上涨趋势相似。如下图所示:

cpu使用过高分为业务增长导致cpu打高和非预期内的cpu打高,具体排查参考:https://help.aliyun.com/zh/polardb/polardb-for-mysql/high-cpu-utilization-of-polardb-for-mysql-clusters
3.8 空间标题

3.8.1 集群的存储空间占用忽然升高,怎样举行排查?

按照以下步调举行排查:

  • 登录PolarDB控制台。
  • 在控制台左上角,选择集群所在地区。
  • 找到目的集群,单击集群ID。
  • 在根本信息页面的数据库分布式存储地区,查察数据库存储用量
  • 在左侧导航栏,单击诊断与优化>一键诊断,在空间概况页面的空间厘革趋势地区,查察是由于哪个空间使用量升高导致存储空间升高。
传送门:阿里云登录 - 欢迎登录阿里云,安全稳固的云盘算服务平台欢迎登录阿里云,举世领先的云盘算及人工智能科技公司,阿里云为200多个国家和地区的企业、开辟者和当局机构提供云盘算底子服务及办理方案。阿里云云盘算、安全、大数据、人工智能、企业应用、物联网物联网等云盘算服务。
https://polardb.console.aliyun.com/overview
3.8.2 为什么新创建的数据库中没有任何数据,就已经产生了磁盘使用量?

数据库初始化时,会创建相干的体系表用于存储账户、权限等。别的,数据库体系日记(Redo log、Undo log等)也会占用磁盘空间。
3.8.3 为什么从其他异构数据库导入数据时会占用更多的存储空间?

差异的数据库存储引擎处置处罚数据的方式差异。比方,是否有压缩功能、某些字段上是否有索引等都会影响存储空间的占用量。
3.8.4 集群的存储空间是否包罗备份空间?

包罗,PolarDB备份和规复功能均免费使用,但备份文件会占用肯定的存储空间。根据备份存储位置,备份文件占用的空间分为一级备份、二级备份和物理日记备份。
3.8.5 InnoDB引擎中使用DROP下令删除索引后,是否会开释磁盘空间?

由于索引和数据存储在同一个文件中,因此,在使用独立表空间时,在InnoDB引擎中使用DROP下令删除索引后,并不会开释存储空间。
3.9 PolarDB死锁

死锁是关系型数据库体系中最为常见的错误,出如今差异事件中同时对某些数据访问加锁时,都要期待对方哀求中的数据而无法获取锁。数据库体系会主动断送回滚代价最小的事件,从而导致对应的写哀求失败。更严峻的情况是在大量死锁发生时,会导致数据库体系服从低下,大量历程堆积进而引发性能标题。正常情况下,死锁都是由于逻辑加锁的次序导致的,也就是我们常说的ABA死锁。

使用DAS的锁分析功能与SQL洞察功能举行死锁定位的方法见传送门: https://help.aliyun.com/zh/polardb/polardb-for-mysql/resolve-deadlocks-in-polardb?spm=a2c4g.11186623.0.0.d8a130cfX7b3A9 
3.10 PolarDB MySQL常见标题


总结

1、RDS、Redis和PolarDB分别是阿里云提供的关系型数据库、键值存储数据库和高性能分布式数据库服务。
2、RDS简化了数据库的摆设和管理,提供了高可用性和安全性;Redis则实用于必要高吞吐量和低延伸的应用场景,支持多种架构以满足差异的业务需求;PolarDB连合了传统数据库的稳固性和云数据库的弹性,支持多种数据库引擎,特别得当大规模数据处置处罚和企业级应用。这三者均提供了细致的监控和排障指南,资助用户高效管理和优化数据库性能,确保业务稳固运行。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表