在刚刚的Percona Live开源数据库大会上,MySQL社区委员会宣布将2018年度的MySQL社区公司贡献奖(Corporate Contributor Award)唯一颁给阿里云。
图中右一为阿里云数据库RDS团队 彭立勋
MySQL社区颁发次奖项是为了感谢阿里云多年持续不断的给社区贡献Patch和Idea,不断的帮助官方和社区提升MySQL,以及开源AliSQL和配套的AliXtrabackup备份工具,和投资MariaDB保护MySQL开源生态。这是MySQL Community Awards自2005年创立以来第一次颁给中国公司。
下面的Patch和Idea可能你早已听闻,或者正在阿里云RDS上解决着你的业务需求:
1. 多源复制(Multiple Source Replication)
多源复制是在 MySQL 基于 Binary Log 单向一对多复制的基础上,实现了节点之间的多对多的复制,使数据可以在多个节点上*聚合和拆分。
这个功能被官方收录,在 MySQL 5.7.6 版本上正式发布。
2. FlashBack
FlashBack 实现了基于 Binary Log 的自定义逻辑回滚,以轻松应对在 MySQL 上的误操作,降低运维风险。
FlashBack 可以在 Aliyun RDS MySQL 公有云上使用,并在社区版本 MariaDB 10.3 中发布。
3. Sequence
Sequence 对象是 AliSQL 特有的提供简单获取单调递增唯一值的方法,其兼容了Oracle,SQL Server等数据库的使用语法,
用户可以在 RDS MySQL 公有云上体验,或者下载 AliSQL 的开源版本,Sequence 功能也合并在了 MariaDB 10.3 版本中。
4. 列压缩
针对具有高压缩比的 Text 或者 JSON 字段,AliSQL 提供了在 COLUMN 上简单的 COMPRESS 语法,支持针对单个 COLUMN 的压缩,
大大节省空间的使用, 列压缩也在 MariaDB 版本中进行了提供。
5. 动态加列
针对 MySQL 表结构变更中加字段需要拷贝整张表的情况, AliSQL 设计了一种新的记录格式, 命名为 COMFORT,在加字段的过程中,只更改数据字典,不修改记录本身,
可以实现毫秒级的变更,目前这个功能已经开源在 AliSQL 分支中。
6. 自增列值持久化
MySQL AUTO_INCREMENT 字段实现了自增 ID 的生成,但只保存在内存中,意外宕机或重启,就会丢失自增值,AliSQL 使用表 SEGMENT HEADER 中预留的位实现了自增列的持久化,
用户在 Aliyun RDS MySQL 上建的实例,可以保证自增列值不丢失。同时这个功能也收录在 MariaDB 10.3 版本中。
7. SemiSync优化
针对 SemiSync 原有 PLUGIN 的方式,进行静态化编译和优化,至少提升10%的性能。
8. 上百个 InnoDB Engine 缺限和优化补丁
AliSQL 针对 InnoDB Engine 做了大量的优化,比如 Double Log Buffer, Transaction Lock 优化,独立 Log writer Thread 优化等,
大幅提升 InnoDB Engine 的性能, 其中大部分都被 MySQL 官方和其他分支收录,
9. Cross-Engines 备份
AliSQL 积极拥抱社区,保持着对多引擎的支持,在实际的使用和运维中,形成了单实例多引擎的在线备份方案,并在 AliSQLBackup 项目中进行了开源。
同时也在积极回馈给其它分支。
AliSQL 开发的大部分功能,除了提供了公有云用户的使用,同时也积极开源,其中绝大多数都已经被官方 MySQL 或 MariaDB 或 Percona 吸收。阿里云一直秉持拥抱、回馈、融合、回报的开源思想反哺开源社区社区。
PS:Corporate Contributor Award奖项含金量很高,曾经发给过Github,Facebook,Oracle,WebScaleSQL联盟(含Facebook, Google, Twitter, LinkedIn, Alibaba)