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