日前,MariaDB 第一次年度用户会议 (M|17)在美国纽约举行。作为该基金会的中国代表,阿里云的分享被当地科技网站diginomica关注,记者Jon Reed表示,“阿里巴巴在本周的 MariaDB 用户会议上所做的演讲让人吃惊。
以下是记者采访的全文:
MariaDB 第一次年度用户会议 (M|17) 的最大亮点之一是,来自亚太的开源倡导者讲述他们的故事。阿里巴巴展示了通过云计算,如何更好地使用开源项目。同时,我对为什么开源数据库项目能够如此流行也产生了新的理解。
如果有机会听阿里巴巴的工程师讲述,你会了解到阿里巴巴在 2009 年便深耕 B2B 业务,到如今,阿里巴巴已超越沃尔玛成为世界最大零售商。
阿里巴巴在本周的 MariaDB 用户会议上展示的应用规模的确令人吃惊。在过去,出于高性能和安全性考虑,在商业数据库上投入了大量的资金,到如今阿里巴巴拥抱开源和自主研发,希望在云计算领域一骑绝尘。
阿里巴巴——大规模开源项目
阿里巴巴对数据库的性能,稳定性,安全性有着非常高的要求:
·
高负载下的稳定性——阿里需要支持对热点商品的记录进行每秒 10 万次以上的并发刷新。
·
安全性和与可用性——通过透明加密实现数据库绝对安全,并保证持续可用。
·
Black Friday式的电商浪潮——阿里在每年的 11 月 11 日举办双十一全球购物节,这是全世界最大的 24 小时线上促销活动。是日将产生极其大量的销售数据:2016 年的双十一销售额达到了惊人的 178 亿美元,业务峰值每秒订单量达 140,000 个,每秒支付量 85,000 次。每一项都给阿里巴巴的系统带来了严苛的性能压力。
开源项目代码共享——双向合作
在谈论阿里巴巴如何与 Maria DB 合作时,阿里巴巴的高级数据库工程师赵建伟及彭立勋详尽的展示了阿里云数据库的架构设计,包括其适配云计算环境的 MySQL 分支 AliSQL。赵和彭是阿里云MySQL数据库内核研发团队成员,该团队主要专注于 MySQL 和 MariaDB以及其它分支的相关工作。目前阿里云已支持多达十万级数量的“MySQL ”实例。
彭在其谈话期间分享了 MariaDB 的开源社区与 AliSQL 之间的关系。这是一种双向开源共享,阿里巴巴不但为 MariaDB 社区贡献力量,同时也移植 MariaDB 中的功能,以及到最近的合作开发,比如合作开发的序列引擎,旨在帮助客户的业务能平滑的从商业数据库迁移到公有云开源数据库平台上。再比如动态加字段功能,旨在解决数据库运维中的痛点。
阿里巴巴对 MariaDB 的贡献包括多源复制、Flashback、 InnoDB自增值持久化等。从 MariaDB 移植的功能包括语句超时、动态空间收缩等。
在开源的项目中,你可以不必再使用传统的方式将功能请求和漏洞提交给企业级数据库厂商,而是可以直接公开这部分功能或者修复代码,主流分支就会及时跟进。
彭:有时候,MariaDB 想做的功能我们已经做完,我们可以将我们的代码贡献给 MariaDB。这也为 MariaDB 节省不少时间,好去做其他重要的事情。另外一种情况,如果我们想做的功能 MariaDB 已经做完,那我们可以将这些功能移植到我们的分支。这也能为我们节省不少时间。
积极拥抱开源
阿里巴巴积极拥抱开源,工程师也热衷开源项目,比如大家熟知的Docker也是在阿里巴巴内部广受欢迎的开源项目之一,彭立勋表示,其所在的团队,可以通过开源项目,来帮助到社区和公司外部的用户,这也是阿里巴巴向首次 MariaDB 用户会议派遣三位工程师积极参会的原因。
彭:MariaDB是在开源方面最彻底也最友好的数据库项目之一,不仅及时的同步开发活动和状态,还几乎可以看到所有的开发细节。
但是,所有“开源项目”都如此开放吗?在彭立勋的经历中并非如此。彭立勋表示,有些开源软件项目不接受来自商业公司的补丁。“它们不接受其他补丁,即使我们进行了充分的测试。而MariaDB 则不同,我们能够将一些成熟的补丁直接提交给 MariaDB。
开源理应成为客户的一种新选择
中国的公司在开源领域获得技术红利的同时,也开始进行了大量的资源和人力投入。互联网技术的全球化发展,也让大家面临着相似的问题和挑战。对于开源项目,彭立勋建议,尽可能的开启安全防护,以免遭受恶意攻击。
阿里云数据库团队的工作是让客户选择和使用好数据库软件。MariaDB作为一个重要的MySQL分支,对阿里云在MySQL数据库产品业务发展上起到了非常大的推动作用,彭立勋和他的团结也积极的保持和维护与MariaDB的合作关系。
阿里云数据库团队积极参与和跟进 MariaDB 提供的新功能,并向客户了解他们的真实业务需求,以便寻求合适的解决方案。比如MariaDB提供的ColumnStore,如果能够得以应用,可以无缝衔接OLTP和OLAP场景使用。
附录1:AliSQL的Github地址:
https://github.com/alibaba/alisql
附录2:阿里云数据库专家彭立勋和冷香,在MariaDB(M|17)上分享的内容(部分)