继开源跨平台开发框架Weex之后,阿里巴巴再次宣布另一个重大开源项目AliSQL。
在8月9日召开的2016云栖大会·北京峰会上,阿里云宣布启动AliSQL数据库开源项目。该版本性能优于社区版MySQL 70%左右,可帮助中小企业和开发者提升数据运营能力。阿里云方面表示欢迎大家共同参与开源项目,在使用的同时也贡献智慧,为数据库行业带来更多进步。
笔者有幸与阿里云数据库团队进行了一次面对面的对话,在这群活跃在当今几乎覆盖所有类型数据库领域的小伙子们身上,发现了我们正在苦苦找寻的东西:开放。
“阿里云在MySQL积累了至少8年以上,中间经历过像高并发、秒杀服务、数据安全等挑战。以前我们把这些能力放在云上,让人们能享受技术的红利,现在我们希望把它开源出去,回馈到社区,让技术能平民化快速发展,发挥更大的价值。”
阿里云关系数据库服务内核开发和运维团队负责人丁奇表示,将做了5年的MySQL数据库宣布开源需要勇气,阿里云希望将过去几年沉淀的技术积累回馈到社区,帮助更多使用MySQL的个人和企业,这是社区良性发展的道路。
经过多年历练,阿里云已经成为了中国云计算厂商中,对数据库引擎支持最多的一家,其云数据库支持的引擎超过了十个,覆盖了70%的关键在线数据库引擎。
以下是精彩问答
问:AliSQL有什么特点?
丁奇:AliSQL分支上的特点是安全性和高性能。在安全上,我们有数据加密存储方案。通过修改源码,堵住了通过MySQL提权获取本地文件系统权限的关键通道,在安全性上我们做了很多改进的工作。
高性能一直是AliSQL的标签。从阿里自身业务维护开始,积累的性能优化经验都体现在AliSQL上,我们在执行计划、io优化、压缩优化上做了大量工作。
新增的功能也是AliSQL的一大亮点。我们有内置的支持秒杀场景的方案、有限制导出数据时单线程性能消耗的语法、高效清空线程占用资源减少内存消耗等功能。这些都是在长期服务内外部客户时,从需求中抽象和实现的功能。
问:为什么要开源AliSQL?
丁奇:AliSQL是基于MySQL的,并从Percona,MariaDB,WebScaleSQL等社区汲取精华,我们希望将过去几年沉淀的技术积累回馈到社区,帮助更多使用MySQL的个人和企业,这是社区良性发展的道路。
由于官方提供的功能比较通用,支持了各种引擎,但有些引擎是不安全的,容易出事,我们要替用户多考虑一些,把不安全的引擎替换掉,虽然这些功能官方不会接受,但我们觉得非常重要。在我们开源的这部分里,会尽量把通用的推给MongDB,推给Oracle,同时把bug贡献给社区,用最快的速度解决问题。
问:2015年的双11,一天写进数据库的数据量就有10TB,今年将会做怎样的应对?
萧少聪(阿里云数据库产品专家,PostgreSQL中国社区主席):首先是buffer预留,这是传统的应对方案,还有高峰期的业务预估,还有对每个业务的健康度的打分,比如说双十一我们会把预案自动化。其实很多类似聚石塔这样的交易模型,在这几年的护航里面我们都是比较清楚了,如何增加机器监控与业务监控等我们早已烂熟于心。我们把它能够出现的异常都会事先给出自动化预案,提前布局,防范于未然。然后用打分机制去逐步的提高健康度,直到双十一之前我们不需要再去干预。
问:都说今年是大数据年,阿里云数据库在大数据方面会如何推进?
萧少聪:我们在整个ApsaraDB大的产品框架下,就正在推进这个方向。前期分析型数据库GreenPlum已经在公测,后面我们还有小数仓这样的项目,它的目是就是帮助用户用OLTP的形式导入数据库,在内部系统之间实现平滑流转并分析,我们叫它跨数据类型分析。
问:阿里云数据库运维功和安全功能很强大,对传统的DBA会不会造成冲击?
丁奇:今天开一个云上服务器,点一下按钮,五分钟内什么HA、数据备份都搭好了。其实,我们看到越来越多的传统行业包括金融,甚至制造业都在往云上靠,他们希望通过云的方式,解放DBA真正的价值。
以前我们把DBA分为运维DBA和业务DBA,其实现在也没有了,运维这层已经被云的功能替代掉了。现在阿里云内部的云数据库,有三百多个业务,只有一个DBA在管。
传统企业也希望他们的DB不是每天都在做备份、检查、复制、监控的工作。现在阿里的双十一都是自动化的,运维人员更轻松, DBA应该把时间空余出来,更好的去优化SQL,让企业运行得更好,去产生真正的业务上的价值。DBA这种职业是永远存在下去的,并不是被取代,只是原来可能很多是劳动型转向架构或者是脑力运行的形式。