RDS MySQL 性能新突破:最高提升50%读取性能及两倍写入性能

MySQL
Amazon RDS
0
0
亚马逊云科技 Relational Database Service(Amazon RDS)是一种托管服务,可以简化在云中设置、操作和扩展关系数据库的过程。它可以在管理耗时的数据库管理任务的同时提供经济高效的可调容量,使您能够腾出时间专注于应用程序和业务。 Amazon RDS 让您能够访问非常熟悉的 MySQL、MariaDB、Oracle、SQL Server 或 PostgreSQL 数据库的功能。这意味着您当前用于现有数据库的代码、应用程序和工具也可以无缝用于 Amazon RDS。Amazon RDS 可以自动备份您的数据库,并使您的数据库软件版本保持最新。您可以灵活方便地扩展与关系数据库实例相关联的计算资源或存储容量,并从中受益。此外,Amazon RDS 还可通过复制轻松增强数据库可用性、改进数据耐久性或扩展读取密集型数据库工作负载中单一数据库实例的容量限制。与所有亚马逊云科技服务相同,您无需预先投资,而且只需为所使用的资源付费。 ![image.png](https://dev-media.amazoncloud.cn/a56a47e2b00444f5836e552dfba18b50_image.png "image.png") 在2009年,亚马逊云科技率先推出 Amazon RDS for MySQL 服务,为用户提供了灵活、可靠和安全的数据库解决方案。此后,数据库托管服务成为了所有公有云提供商的必备配置。 在推出 Amazon RDS for MySQL 后,我们持续不断地在不同维度上进行着不断的创新。在支持的数据库方面,为我们的客户提供更多选择,我们从 MySQL 开始,添加了 MariaDB、Oracle、SQL Server 或 PostgreSQL 等。同时为了提高数据库服务的可用性、我们推出了多可用区特性,即使在亚马逊云科技的整个可用区出现故障,它也能继续保持数据库可用。我们还提高了 RDS 的可管理性、安全性和性能。推出了包括全球数据库,RDS Proxy,Performance Insight 等功能。此外,因为我们发现客户并不是孤立地使用数据库,而是把它当作整个堆栈的一部分。因此我们也专注于进一步与其他服务如(Amazon S3 和 Amazon Lambda)等的集成。 **现在,无论是技术成熟度还是功能完善程度,亚马逊云科技 RDS 都能为用户提供强有力的支持。** ![image.png](https://dev-media.amazoncloud.cn/fe0399b32d6b4ad7a3ce7f52ca069998_image.png "image.png") 根据行业分析公司 Gartner 在2022年发布的 **Amazon Relational Database Service 的解决方案记分卡**,亚马逊云科技获得了业界最佳的 95 分,其中包括完全符合 Gartner 要求的运营数据库平台即服务(dbPaaS, Database Platform as a Service)标准。亚马逊云科技在该报告中获得的 95 分是基于对部署、开发、性能和可扩展性、数据集成、管理和运营以及数据库安全等关键功能标准的分析得出的。然后,该报告将这些功能分类为关系数据库平台即服务的必需、首选和可选标准。根据 Gartner 的数据,Amazon RDS 除了在所有功能上获得 100% 的必需评分外,在首选标准上获得了 94 分,在可选 dbPaaS 标准上获得了 70 分。 ![image.png](https://dev-media.amazoncloud.cn/c5edad0288fa4cf1ab57bc7bfedb6512_image.png "image.png") 在2022年的 re: Invent 大会的主题演讲中,亚马逊云科技 RDS 开源数据库总监 Sirish Chandrasekaran 向大家展示了今年亚马逊云科技在开源数据库层面的新功能及创新特性。其中就包括对数据库的性能优化特效,特别是引入了 Amazon RDS Optimized Writes 及 Amazon RDS Optimized Reads 两个功能,将用户最为关注的数据库写入性能及读取性能全面地进行了提升了。 ## **Amazon RDS Optimized Writes** 通过使用 Amazon RDS Optimized Writes,可在不收取额外费用的情况下将写入事务吞吐量提高多达两倍,且能保持相同的预调配 IOPS 水平。Optimized Writes 非常适合生成大量并发事务的写入密集型工作负载。其中包括数字支付、金融交易平台和在线游戏。 默认情况下,MySQL 会使用磁盘上的双写缓冲区,双写缓冲区是用于在将页面数据写入数据文件中的适当位置之前,将从缓冲池中的页面刷新写入的一个磁盘存储区域。如果在页面写入过程中出现操作系统、存储子系统或意外的 mysqld 进程退出等问题,则可以在数据恢复时,从双重写入缓冲区中找到页面数据的副本进行恢复。 MySQL 的缓冲区的每个页面为16KiB,但最终会以 4KiB 的区块大小写入最终磁盘存储。执行此双写步骤虽然维护了数据的完整性,但也会消耗大量额外的 I/O 及带宽。例如在运行我之前描述的写入密集型的工作负载的时候,可能需要配置额外的 IOPS 以满足您的性能要求和吞吐量要求。 ![image.png](https://dev-media.amazoncloud.cn/492a9ef9749d49ccafbe3057c056f838_image.png "image.png") 亚马逊云科技通过底层 EC2 上引入 Nitro 卡,EC2 能够自动处理16KiB 的页面刷新。从而无需再将16KiB 的数据切分到4KiB 再进行写入,从而降低了 IO,提升了写入的性能。自此,Optimized Writes 可以使用统一的16KiB 数据库页面、文件系统块和操作系统页面,并以原子方式将它们写入存储(全部成功或全部失败),从而最高可以将性能提高至未开启的 Optimized Writes 两倍。 ![image.png](https://dev-media.amazoncloud.cn/02c9949edae140e0bd59b2cf3c0a2c5f_image.png "image.png") 通过 Optimized Writes 提升数据库的写入性能可以带来如下的好处。 1、提升应用程序性能:应用程序通常需要在写入数据库之后才能继续处理,因此提升写入性能可以提升整个应用程序的性能。 2、提升用户体验:快速写入数据库可以使用户在使用应用程序时感到更流畅,提升用户体验。 3、减少资源占用:写入数据库的过程会占用一定的 CPU 和内存资源,提升写入性能可以减少对资源的占用,提高系统效率。 4、减少数据丢失风险:当写入数据库速度较慢时,可能会出现应用程序在等待写入完成的过程中出现异常导致应用程序退出,从而导致数据丢失。提升写入性能可以减少这种风险。 ![image.png](https://dev-media.amazoncloud.cn/40f73c9716c149a4ad854cb468318931_image.png "image.png") ## **Amazon RDS Optimized Reads** Amazon RDS for MySQL 在未开启 Optimized Reads 的时候,会将临时表放置在 Amazon Elastic Block Store(Amazon EBS)的卷上。当开启了 Optimized Reads 之后,Amazon RDS for MySQL 可将临时表对象上的操作从 EBS 转移至附加到 r5d、m5d、r6gd 和 m6gd 实例的实例存储。**以 m5d.large 这个配置为例,实例存储可以提供超过30,000的读取 IOPS 及15,000的写入 IOPS**,这个相比 EBS 的 IOPS,是一个极大的提升。 **以 m5d.large 这个配置为例,实例存储可以提供超过30,000的读取 IOPS 及15,000的写入 IOPS** :https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose-instances.html ![image.png](https://dev-media.amazoncloud.cn/39db0e6934d347f09c1db37f5151fcd5_image.png "image.png") 因此,通过使用 Optimized Reads,用户可更有效地利用 EBS 卷对持久性数据进行读取和写入,并在实例存储上执行刷新、插入缓冲区合并等后台操作,从而能够最高提升数据库50%的读取性能。 Optimized Reads 在下述场景下非常有用: 1、包括复杂表表达式、派生表和分组操作的分析查询。 2、处理未优化的应用程序查询的只读副本。 3、具有复杂操作(例如 GROUP BY(分组依据)和 ORDER BY(排序依据))的按需或动态报告查询,无法始终使用适当的索引。 4、使用内部临时表的其他工作负载。 ![image.png](https://dev-media.amazoncloud.cn/0aa3754b655042178c2edf05c2adad05_image.png "image.png") ## **写在最后** 与自建数据库相比,云数据库服务通常可以提供更多的功能和容量,以及更简单的开发和操作。此外,与本地数据中心相比,领先的公共云供应商提供了卓越的平台,企业可以在其上实施其数据和分析基础架构。亚马逊云科技在这几年中不断增量改进,这些改进不断积累,最终形成了灵活、可靠和安全的数据库解决方案。无论是普通业务用户还是数据库管理员(DBA)、开发人员等用户都可以直接使用 Amazon RDS,快速开展业务。利用 Amazon RDS 解决业务挑战, **根据 Gartner 公司的数据,到2022年,75%的数据库将被部署或迁移到云平台,只有5%的数据库被考虑返回本地**。随着云数据库的功能更加丰富,性能更加强大,云数据库已经成为了未来公司部署数据库的首选。 **本篇作者** ![image.png](https://dev-media.amazoncloud.cn/770a9702a1a94a28bb322d24f43ef55a_image.png "image.png") **肖福生** *西云数据解决方案架构师,负责西云数据华南区域的云计算方案咨询和设计,同时致力于亚马逊云科技在国内的应用和推广。在加入西云数据之前,在云计算行业担任解决方案架构师,负责互联网行业的云计算方案咨询以及架构设计,在企业软件架构、数据库、中间件软件等方面有丰富的经验。*
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭