摘要: 在剛剛的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. FlashBack3d
FlashBack 實現了基於 Binary Log 的自定義邏輯回滾,以輕鬆應對在 MySQL 上的誤操做,下降運維風險。對象
FlashBack 能夠在 Aliyun RDS MySQL 公有云上使用,並在社區版本 MariaDB 10.3 中發佈。blog
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)
閱讀更多幹貨好文,請關注掃描如下二維碼: