
引言
2025年,是MySQL数据库诞生的第30个年头。
5月23日-5月24日,由ACMUG和MySQL官方联合举办的「MySQL 30周年庆典」活动在成都召开。本次活动不仅是对MySQL 30年发展的总结,更是对未来的技术展望。
作为MySQL技术领域的重要推动者,阿里云瑶池数据库团队持续多年深耕MySQL技术领域,不断为社区贡献Patch和Idea(自2018年起,累计向MySQL社区提交技术提案219项,72个修复方案)。通过代码贡献、技术研讨等,团队在数据库性能优化、事务处理机制完善和高可用架构设计等多个方面,助力MySQL开源生态的技术创新和发展。
本次活动,阿里云数据库RDS产品负责人陈宗志分享《阿里云数据库RDS的自研内核AliSQL的技术演进》演讲,深度解析AliSQL在云存储、DDL场景、Binlog场景等的优化,以及分享AliSQL和DuckDB在HTAP场景上的解决方案。

精彩回放

微信扫码观看演讲回放
1
关于MySQL与AliSQL
2
AliSQL在云存储上的优化
云数据库通过计算存储分离架构实现弹性扩展与按需计费,其资源解耦特性显著推动云原生数据库发展。基于通用云存储层构建的方案,既借助规模经济效应降低总体成本,又通过高可靠性特性降低开发与运维复杂度。
然而,云存储与本地存储的物理特性差异导致传统数据库上云面临多重挑战:远程分布式存储的I/O延迟瓶颈制约响应速度;聚合带宽利用率低限制吞吐潜力;长链路传输引发的I/O隔离性不足;云用户倾向数十TB级单表文件不切分,进一步加剧I/O瓶颈。这些技术矛盾直接限制云数据库在云环境下的性能上限与可靠性保障。
针对云存储中存在的问题,AliSQL团队进行了深入研究和优化,通过改进数据读写路径、优化缓存策略、降低系统锁争用等手段,提升了整体性能和稳定性。
1. 快速恢复
AliSQL 通过创新性设计,显著优化了数据库启动阶段的性能。AliSQL在数据库启动时仅扫描元数据,大大缓解了 InnoDB 全文件扫描和解析过程的 IO 压力,降低了耗时。其次,AliSQL采用并行化最小信息单元方式进行数据字典元信息获取,提升了时间效率,并降低了内存资源的使用。优化后,在 100w 表场景下,Crash recovery 下启动时间可缩短 95.2%;数据库启动过程中元数据占用的内存仅为原来的 15.4%。
除此之外,AliSQL 重新实现了崩溃恢复过程中Redo 日志的扫描与应用,采用多线程、流水线的方式对 Redo 日志进行扫描、解析与应用,大幅降低启动时间。优化后,Redo 的应用速度提升 500%以上。
2. IO 路径优化
InnoDB通过双写机制保障数据页原子性,防止半写错误;因此,每次数据页的刷新都涉及两次写操作,这增加了磁盘I/O负载。在高写入场景,InnoDB的双写机制就成为了性能瓶颈。AliSQL 具备全链路的16K原子写的能力,可安全关闭InnoDB双写机制。在降低了I/O写入量的同时,还简化了刷脏过程,大幅度降低云存储的IOPS及带宽需求,提升实例写性能。

3. 数据访问加速

引入BPE能够大幅提升数据页的访问速度,缩短SQL执行时间,同时也能大幅降低访问实例高性能云盘中数据文件的频率,降低高性能云盘带宽。此外,缓存层的存在也大幅降低云盘IO抖动对数据库运行的影响,提升稳定性。

3
AliSQL在DDL场景的优化
DDL(Data Definition Language)是MySQL中最频繁的“变更”操作之一。早期版本存在锁表、性能抖动、执行时间长等问题,导致用户不敢随意进行变更操作。但随着技术的发展,MySQL引入了Inplace DDL(5.6版本开始)和Instant DDL(8.0版本开始),大大提升了DDL操作的效率和稳定性。

在社区 MySQL 各版本对 DDL 改进的基础之上,AliSQL 团队对 DDL 做了更进一步的优化,让 DDL 操作更快、更稳、更安全。
1. 性能优化
▶︎ Instant DDL 增强:AliSQL在社区MySQL 8.0版Instant操作(支持添加字段、删除字段和修改表名等)基础上,扩展了字段类型修改等能力。例如将INT类型改为BIGINT时不存在数据不兼容问题,引擎层将两者视为同类型数据来处理,仅需修改数据字典元数据并维护版本,即可实现秒级列修改。同时AliSQL 5.7完整同步了社区MySQL 8.0的Instant add/drop column能力,使该版本也具备部分Instant DDL特性,显著提升DDL执行效率与稳定性。
▶︎ IO 和 排序优化:AliSQL优化了DDL内存管理策略。在B+tree构建过程中,优化了排序逻辑,采用更高效的排序算法替代社区版归并排序。同时,AliSQL对Inplace DDL的数据扫描、校验及刷脏流程进行深度优化,彻底解决了社区MySQL并行DDL引发的性能问题。经实测验证,AliSQL Inplace DDL执行时间较社区版缩短至63%。


2. 稳定性优化


3. 安全性
4
AliSQL在Binlog模块的优化
Binlog是MySQL生态中非常重要的组件,AliSQL从性能,稳定性,复制延迟几个维度对binlog进行了优化。
1. 性能优化




2. 稳定性

3. 复制延迟
5
AliSQL基于DuckDB在HTAP场景的解决方案
AliSQL集成DuckDB作为分析型存储引擎,依托DuckDB列式存储与向量化计算能力实现高效分析查询,为用户提供高效分析查询能力。

在实现过程中,AliSQL对DuckDB语法解析器和函数模块进行深度改造,实现SQL语法、函数、数据类型、DDL及事务与MySQL的高度兼容。DuckDB引擎实例作为独立的只读分析节点,与主库通过Binlog同步数据,新增节点时自动将数据表转换为DuckDB引擎。用户无需对现有的业务进行改造,可以像使用和访问 MySQL 一样的方式来访问只读分析节点;同时,由于 AliSQL 将 AP 的核心能力都集成在数据库内核中,因此也无需引入数据同步工具,减少了数据同步链路的复杂性、降低数据出错和同步中断的可能性。
依托 DuckDB 的列式存储和高压缩比技术,在TPC-H sf100测试中,该方案加速比达到200+倍,而磁盘空间占用仅为20%。

6
结语
从MySQL开源内核到AliSQL的深度定制,阿里云瑶池数据库始终以"用户价值"为驱动。AliSQL作为基于MySQL深度优化的分支,从性能、稳定性、安全多个方面进行深度优化和定制;同时AliSQL积极回馈社区,推动MySQL生态发展。
未来,阿里云瑶池数据库将持续深耕数据库内核技术,为用户提供更加高效、稳定、安全的数据库体验,让云数据库像水和电一样触手可及。


点击 阅读原文 了解 #云数据库RDS






