RDS MySQL使用阿里云深度定制的独立MySQL分支AliSQL内核,为用户提供了MySQL所有的功能,同时提供了企业级的安全、备份、恢复、监控、性能优化、只读实例等高级特性。本文介绍AliSQL的主要功能及AliSQL与其他MySQL版本的功能对比。
AliSQL介绍
AliSQL是阿里云深度定制的独立MySQL分支,除了社区版的所有功能外,AliSQL提供了类似于MySQL企业版的诸多功能,如企业级备份恢复、线程池、并行查询等,并且AliSQL还提供兼容Oracle的能力,如sequence引擎等。
版本支持情况
功能
功能 | 描述 | MySQL版本 | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
通过SQL语句查询或恢复指定时间点的数据,保证在误操作后可以快速获取历史数据。 | 支持 | 支持 | 不支持 | 不支持 | |
提供线程池(Thread Pool)功能,将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。 | 支持 | 支持 | 支持 | 支持 | |
利用Optimizer Hint和Index Hint让MySQL稳定执行计划,该方法称为Statement Outline,并提供了工具包(DBMS_OUTLN)便于您快捷使用。 | 支持 | 支持 | 支持 | 不支持 | |
提供Sequence Engine,简化获取序列值的复杂度。 | 支持 | 支持 | 支持 | 支持 | |
支持DML语句返回Resultset,同时提供了工具包(DBMS_TRANS)便于您快捷使用。 | 支持 | 支持 | 不支持 | 不支持 | |
全密态功能可以对数据库表中的被保护数据列进行加密,避免非授权人员通过云平台软件或工具接触到被保护数据的明文。 | 不支持 | 支持 | 支持 | 不支持 | |
性能
功能 | 描述 | MySQL版本 | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
针对原生MySQL Query Cache的不足,阿里云进行重新设计和全新实现,推出Fast Query Cache,能够有效提高数据库查询性能。 | 不支持 | 不支持 | 支持 | 不支持 | |
在事务提交时将Binlog内容同步写入到Redo Log中,减少对磁盘的操作,提高数据库性能。 | 支持 | 支持 | 不支持 | 不支持 | |
针对语句的排队机制,将语句进行分桶排队,尽量把可能具有相同冲突的语句(例如操作相同行)放在一个桶内排队,减少冲突的开销。 | 支持 | 支持 | 支持 | 不支持 | |
快速提交、回滚事务,配合Returning和Statement Queue,能有效提高业务吞吐能力。 | 支持 | 支持 | 支持 | 支持 | |
在事务提交时,通过并行的写binlog,减小高并发时的性能瓶颈,提高数据库的写性能。 | 支持 | 支持 | 不支持 | 不支持 | |
稳定
功能 | 描述 | MySQL版本 | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
提供基于语句规则的并发控制CCL(Concurrency Control),并提供了工具包(DBMS_CCL)便于您快捷使用。 | 支持 | 支持 | 支持 | 不支持 | |
便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。 | 支持 | 支持 | 支持 | 支持 | |
通过异步删除大文件的方式保证系统稳定性。 | 支持 | 支持 | 支持 | 支持 | |
是专注于实例负载监控、关联分析、性能调优的利器,帮助您迅速评估数据库负载,找到性能问题的源头,提升数据库的稳定性。 | 支持 | 支持 | 支持 | 不支持 | |
对大事务提交写Binlog的阶段做了优化,有效解决大事务提交时常会出现Binlog耗时过长、实例长时间不可写或夯住(hang)的问题,能够提升实例的稳定性。 | 支持 | 支持 | 支持 | 不支持 | |
DDL优化
功能 | 描述 | MySQL版本 | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
通过变更元数据实现快速加列操作,避免全表数据重建,可在秒级内完成,且与表数据量大小无关。秒级加列几乎不消耗额外系统资源,也不会对业务造成锁表或阻塞的影响,适用于需要频繁扩展表结构且对业务连续性要求较高的场景。 | 支持 | 支持 | 支持 | 不支持 | |
修改列类型时仅修改元数据而无需全量拷贝数据,可大幅降低修改耗时,提升运维效率。 | 支持 | 支持 | 不支持 | 不支持 | |
修改列字符集时仅修改元数据而无需重建表,可大幅降低字符集修改耗时,提升运维效率。 | 支持 | 支持 | 支持 | 不支持 | |
将列类型修改操作下沉至InnoDB引擎层,实现了不阻塞读写的在线变更。 | 支持 | 支持 | 支持 | 不支持 | |
RDS MySQL对DDL执行过程中唯一键冲突问题进行了优化,有效减少了该问题导致的DDL失败,提升了DDL的成功率。 | 支持 | 支持 | 不支持 | 不支持 | |
AliSQL支持DDL限速功能,用户可以手动设置BPS和IOPS上限,限制DDL对IO资源的消耗,以保证业务的平稳运行。 | 支持 | 支持 | 不支持 | 不支持 | |
非阻塞DDL(Non blocking DDL)功能规避了DDL执行过程中因MDL锁长时间获取不成功导致的会话阻塞和连接堆积,提升DDL过程中实例的稳定性和可用性。 | 支持 | 支持 | 不支持 | 不支持 | |
基于HINT灵活控制DDL线程等待MDL锁的超时时间,避免因长时间等待MDL锁导致的会话阻塞和连接堆积。 | 支持 | 支持 | 不支持 | 不支持 | |
优化DDL操作过程中的Buffer Pool管理机制,降低DDL操作带来的性能影响,提升在线DDL操作的并发数。 | 支持 | 支持 | 支持 | 支持 | |
临时将删除的表转移到回收站,还可以设置保留的时间,方便您找回数据,同时提供了工具包(DBMS_RECYCLE)便于您快捷使用。 | 支持 | 支持 | 支持 | 不支持 | |
复制优化
功能 | 描述 | MySQL版本 | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
RDS MySQL 优化了并行复制的等待逻辑,有效消除了批量数据处理期间产生的复制延迟。该功能特别适用于在业务低峰期进行批量数据删除、整理、导入等操作的场景。 | 支持 | 支持 | 不支持 | 不支持 | |
通过在大事务执行过程中就将Binlog流式传输至备库,避免了开启半同步复制时,主库等待备库ack超时,退化为异步复制问题,保障数据高可靠与业务性能的稳定。 | 支持 | 支持 | 不支持 | 不支持 | |
该功能可以在主库执行DDL时即通知备库执行DDL,达到主备同时执行DDL的效果,从而基本消除DDL导致的复制延迟,保障实例的高可用。 | 支持 | 支持 | 不支持 | 不支持 | |
该功能可以在主库执行大事务时通知备库执行大事务,达到主备同时执行大事务的效果,从而基本消除大事务导致的复制延迟,保障实例的高可用。 | 不支持 | 支持 | 不支持 | 不支持 | |
RDS MySQL优化了IO、SQL和Worker线程之间的锁等待逻辑,并减少了锁等待次数,从而基本消除了高并发小事务的复制延迟问题。 | 不支持 | 支持 | 不支持 | 不支持 | |
功能列表
分类 | 功能 | 社区版 | 官方企业版 | AliSQL内核(5.7&8.0) | 阿里云 RDS MySQL |
企业增值服务 | 未提供 | √ | √ | √ | |
未提供 | √ | √ | √ | ||
未提供 | √ | √ | √ | ||
MySQL Features | √ | √ | √ | √ | |
MySQL Connectors | √ | √ | 支持公开发行版 | 支持公开发行版 | |
MySQL Replication | √ | √ | √ | √ | |
MySQL Router | √ | √ | MaxScale(MySQL 8.0支持) | 数据库单租户代理 | |
MySQL Partitioning | √ | √ | √ | √ | |
InnoDB MyISAM NDB | InnoDB MyISAM NDB | InnoDB X-Engine | InnoDB X-Engine | ||
Oracle Compatibility | 未提供 | 未提供 | MySQL 8.0支持 | MySQL 8.0支持 | |
MySQL Enterprise Monitor | 未提供 | √ | 开发中 | Enhanced Monitor | |
未提供 | √ | 开发中 | 自治服务 | ||
未提供 | √ | 开发中 | Performance Insight | ||
未提供 | √ | 开发中 | √ | ||
未提供 | 未提供 | 未提供 | Enhanced Monitor | ||
MySQL Enterprise Backup | 未提供 | √ | √ | √ | |
未提供 | √ | √ | 库表级备份 | ||
未提供 | √ | √ | 库表级恢复 | ||
未提供 | √ | √ | √ | ||
未提供 | 未提供 | 未提供 | 跨地域备份 | ||
未提供 | 未提供 | MySQL 8.0支持 | MySQL 8.0支持 | ||
未提供 | 未提供 | √ | √ | ||
MySQL Enterprise Security | 本地密钥替换 | √ | BYOK TDE,Key Rotating | BYOK TDE,Key Rotating | |
未提供 | 未提供 | 未提供 | BYOK 落盘加密 | ||
SSL | √ | SSL | SSL | ||
未提供 | √ | SQL洞察 | SQL洞察 | ||
安全加密算法SM4 | 未提供 | 未提供 | √ | √ | |
未提供 | 未提供 | MySQL 5.7支持 | MySQL 5.7支持 | ||
MySQL Enterprise Scalability | 未提供 | √ | MySQL 8.0支持 | MySQL 8.0支持 | |
未提供 | 未提供 | √ | 只读实例 | ||
MySQL Enterprise Reliability | 未提供 | 未提供 | √ | 未提供 | |
未提供 | 未提供 | √ | √ | ||
未提供 | 未提供 | √ | √ | ||
未提供 | 未提供 | √ | √ | ||
未提供 | 未提供 | √ | √ | ||
MySQL Enterprise High-Availability | 未提供 | 未提供 | 需要第三方HA机制 | 高可用系列 | |
√ | √ | √ | 未提供 | ||
√ | √ | √ | 只读实例高可用 | ||
未提供 | 未提供 | 未提供 | 灾备实例 |