MySQL 作为当前最流行的开源数据库,集可靠、易用、功能丰富、适用范围广等特点于一身,尤其对开发者友好,使其成为关系型数据库(RDS)用户的首选。虽然备受关注,更是各种应用的第一选择,但 MySQL 却也面临着诸多挑战。

众所周知,传统社区版 MySQL 处理线程的方式为单线程连接访问,因此当并发连接增多时,锁和资源争用问题会导致数据库性能降低。当连接数大于 500 时,性能就开始下降;尤其是 MySQL 5.6,连接数越多,性能下降越明显。这对于许多现代大型多核系统而言,根本无法满足高并发场景需求。

那么,云数据库 MySQL 表现如何呢?以华为云数据库 MySQL 增强版为例。我们来看一组性能测试的对比数据。在不同的并发连接数下,华为云数据库 MySQL 增强版始终保持高 QPS,性能是社区版本 MySQL 5.6 的 3 倍、5.7 的 1.5 倍。

华为云数据库 MySQL 增强版(HWSQL)性能体现

在本次分享会上,来自华为云的数据库技术专家揭开了华为云数据库 MySQL 增强版高性能的秘密。基于社区版功能特性之上,华为云数据库 MySQL 增强版提供强大的线程池插件,支持几千个并发连接,并通过事务级 MTS 并行复制,实现超低复制延迟。此外,还优化半同步复制协议,能实现无损迅速的 HA 故障转移,秒级切换保证备实例保持同步。

这些改进正是解决社区版 MySQL 高并发场景下性能差、复制延迟突出、故障恢复时间长等问题的技术关键。

相较社区版而言,云数据库 MySQL 的性能已经提升了一大截,但这还仅仅是个开始。

新生代云原生 MySQL 分布式数据库

随着全球业务云化速度的加快,新一代云数据库将面临新的机遇和挑战。其中包括与基于新硬件的云上基础能力的整合、新软件架构与构建优秀实践的借鉴、业务无损弹性 scale-out/in 的能力提升,AI+的自治数据库系统完善等。

值得一提的是,当天另一位华为云数据库技术专家带来的《基于云场景架构设计的 MySQL 分布式数据库》主题分享,刚好总结了传统数据库上云或云服务化遇到的问题,并深入介绍华为云原生分布式数据库的技术原理和最佳实践。

传统数据库架构源于 30 多年前的设计,硬件上使用单处理器、小内存、慢速磁盘,技术上采用双机热备提供高可用(HA)。在硬件早就更新换代、应用也日新月异的今天,传统数据库架构已经无法满足新型互联网业务的需求,在未来更加不可同日而语。

云数据库的诉求将围绕高性能、高扩展、高可用、大数据、易用易维等关键字暂开。华为云原生分布式数据库的设计,也围绕云数据库的诉求展开。

华为云原生分布式数据库,将通过 SAL 实现计算与存储分离;充分利用热容量伸缩、负载均衡、共享访问等云存储特性;发挥新介质优势,比如利用 SSD的随机读特性,避免随机写带来的写放大和磨损,减少时延; 引入新网络技术,比如 RDMA 、1822,进行多租户支持;实现近数据处理,将 IO 密集型负载卸载到存储节点;利用 AI 和 ML 打造自治系统等。

文章来源:https://www.huaweicloud.com/product/ddm.html