ky·体育(中国)官方网站-Royal Club

首页 > 集团快讯 > 阿里腾讯华为自研数据库纷纷开源,醉翁之意不在酒?

阿里腾讯华为自研数据库纷纷开源,醉翁之意不在酒?

最近,几个重要的国产自研数据库纷纷宣布开源。

先是在5月28日,阿里云宣布对外开放关系型数据库PolarDBforPostgreSQL的源代码。

之后,蚂蚁集团如约在6月1日宣布,自研数据库OceanBase开源。

而在去年,腾讯企业级分布式高性能KV存储数据库Tendis开源。

2019年9月,华为宣布将开源其GaussDB数据库,开源后命名为openGauss。2020年6月30日,openGauss数据库源代码正式在Gitee开放。

为什么企业纷纷选择将其自研的数据库开源呢?

“数据库开源,用户就可以免费下载使用了。”这是人们对开源软件最原始的认知。

其实不尽然。记者想起了红帽公司的一句经典总结:“开源不仅仅是开发软件,它还是我们构建公司的方式,也是我们成功原因所在。”

正像操作系统Linux开源,造就了现在中国国产操作系统的三巨头——麒麟、统信UOS以及华为,也成就了像红帽、SUSE这样的开源操作系统企业一样,当大量企业开源其数据库系统时,人们的憧憬被打开了!

01开源的世界各有不同

同样是开放源代码,但是开放的数据库类型、开源的协议等可能不同,对用户和开发者、合作伙伴等的影响也可能天上地下。

5月29日,阿里云宣布对外开放关系型数据库PolarDBforPostgreSQL的源代码,开源云原生数据库能力,将阿里内部沉淀多年的技术分享出来,服务百万开发者。

PolarDB是哪路神仙?

首先PolarDB是一款关系型交易型数据库。目前来看,PolarDB支持单机、分布式等不同的形式。由于采用了存储与计算分离、软硬一体化的设计,因此PolarDB既拥有分布式系统的低成本优势,又具有集中式系统的易用性,可满足企业大规模应用场景的需求。

据阿里云介绍,PolarDB系列产品已连续多年稳定支撑天猫双11,处理峰值高达创纪录的1.4亿次/秒。

其次,PolarDB针对不同的数据库协议开发了不同的兼容版本,包括兼容MySQL、PostgreSQL和Oracle的版本,及每个版本的分布式形态。这次开源的是兼容PostgreSQL的PolarDB数据库分布式版。

第三,本次开源遵循ApacheVersion2.0协议,以全共享并尊重原作者著作权的模式开源,代码可以修改和再发布。

根据阿里公布的消息,开源内容包括数据库内核、相关插件、工具脚本、测试用例以及设计文档,适用于中大型企业核心业务场景。

6月1日,蚂蚁集团自研数据库产品OceanBase正式开源,同时OceanBase开源社区成立,社区官网同步上线。

OceanBase是蚂蚁集团完全自主研发的全球首个应用于金融核心业务的分布式关系型数据库,诞生于2010年,2017年开始对外输出技术服务,2020年6月,OceanBase正式独立进行公司化运作。

作为一款服务于金融等关键业务领域的数据库产品,OceanBase开源了11年的技术成果确实出人意料。

与PolarDB一样,OceanBase也是分布式关系型数据库,是由蚂蚁集团自主研发,也历经了阿里巴巴和蚂蚁集团大规模业务场景的长时间考验。

根据介绍,OceanBase开源采用业界通用OpenCore模式。开源范围包含数据库内核、分布式组件和接口驱动,并提供完整的SQL引擎、事务引擎和存储引擎,并且支持多副本、分布式事务、高性能、扩展能力、故障恢复、优化器、多活容灾、语法兼容等核心技术。

OceanBase采用木兰公共协议MulanPubL-2.0版,允许所有社区参与者对代码进行修改、使用和引用。

Tendis是腾讯自主设计和研发的分布式高性能键值KV存储数据库,兼容开源的流行数据库Redis核心数据结构与接口。

同样腾讯也开源了研发了10年的数据库TBase。TBase是基于开源的PostgreSQL发,并作为腾讯大数据平台(TDW)的一个实时的组件,希望借助开源的力量不断的完善和强大。

同样这些数据库也已经被应用到腾讯内、外部大型项目中。

华为正式开源单机数据库openGauss,开源协议采用木兰宽松许可证v2。

openGauss是一款单机版的关系型数据库系统,内核源自PostgreSQL,深度融合华为在数据库领域多年的经验。

02数据库开源谁受益?

在数据库开源方面,云服务商如阿里云、腾讯云、华为云等数据库开源方是一个不折不扣的受益者。

一方面,产品技术的实力大增。

通过开源软件,云服务商进入数据库领域。同样,利用开源系统以及自己的人才优势,云服务商包括阿里云、亚马逊云科技等大力开发数据库产品,提供数据库服务,为用户提供了更多的选择。

通过开源,数据库服务商希望扩大开发者队伍,利用开源社区,加快产品的开发,并共建应用生态。

亚马逊云科技目前提供15种数据库服务,是目前提供数据库服务最多的企业,数据库服务收入远远超越所谓的数据库大哥大甲骨文。

同样,阿里云的数据库服务也不断增多,包括于2009年MySQL打造了AliSQL分支,在内部替换Oracle;2015年,阿里云推出自研数据仓库AnalyticDB,支持PB级数据实时分析;2017年,又发布自研云原生关系型数据库PolarDB。

另一方面,通过开源培育用户,市场规模不断攀升。

大量开源软件得到广泛使用,也使得各云厂商赚的盆满钵满。对于无法上云的情况,也出现了一种通过开源核心软件+商用外围工具的方式获得商业收益的方式。

如阿里云数据库市场份额稳居全球前三,亚太第一,已经发展成为全球领先的数据库服务商。如果没有开源数据库,这一结果在传统商业数据库发展背景下是无法实现的。

阿里云数据库负责人李飞飞表示,“我们希望将阿里云在数据库技术上积累的丰富经验,通过标准技术组件和系统的方式开放出来,共建开源数据库生态。”

同时,他希望,“未来,阿里云也会建立自己的开源社区,以更快的速度响应客户需求。”

第二,受益者也包括用户。

云服务提供的数据库服务在性能提高的同时,相同性能下的成本相比商用数据库也大幅降低。

当然,如果用户的技术能力强,完全可以免费下载数据库,自己开发应用。

显然,一般用户采用开源的数据库所付的费用相比传统数据库的许可费用和服务费用、甚至云服务商的托管数据库服务费用都大大降低。

第三,受益者是开发者和ISV等生态伙伴。

数据库专家韩锋认为,通过将底层技术开源,可以吸引更多人开发、测试、维护,不仅可以降低成本,还可以进一步提高软件质量。

开源也消除人们对底层安全的顾虑。

此外,通过推广底层软件的使用,有利于构建生态,促进基于此基础的上层应用开发,进而达到排挤竞争对手的目的。

对于开发者来说,任何对开源产品所做的贡献,都可以被所有人所见,不仅有利于在社群里面建立个人名声,也有利于未来职业发展。

3.“借鸡生蛋”,曲径通幽?

通过软件开源,既宣传推广了产品,加快产品的研发速度,又提高了市场占有率,赚足了银子,这样的例子现在比比皆是。

因此,数据库企业开放源码,就像前文所言,绝不是仅仅是软件开发方式的变革,也不是对用户的一种恩赐,而是一种商业模式,在架设一座通天的阶梯。

在宣布开源的同时,数据库企业往往在一下几个方面“使力”。

一是明确了产品下一步的发展方向,为开发者或者社区定方向,加快产品迭代。

TiDB是PingCAP公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理(HybridTransactionalandAnalyticalProcessing,HTAP)的融合型分布式数据库产品。

PingCAP在解释是为什么开源时表示,开源可以通过吸引更多的人来贡献和使用,帮助产品更快迭代。产品迭代更快也能带来商业模式的收益,所以开源和商业是一个互相促进的作用。

OceanBaseCTO杨传辉说,开源可以帮助OceanBase更快的应用起来,促进产品更快的成熟和落地,所以,OceanBase选择开源,这个决策在团队和集团高层中没有任何纠结。开源后核心发展方向是核心系统的分布式改造。同时与合作伙伴一起紧密合作,快速发行商业版本,满足行业客户对数据库高性能、高可靠、融合处理的业务诉求。

二是开源社区的建设。

专家认为,社区运营团队最大的价值就是把自己团队做没。文档、社区、智库、社区的人,能自动帮你解决问题,不需要团队来运营了,而是变成自治的,类似于Apache、LinuxFoundation等,这就是最厉害的社区运营团队。

OceanBase在宣布开源时成立了开源社区,社区成立了技术委员会。其负责人阳振坤表示:“希望更多贡献者加入,共同构建一个能够融合多元化技术架构的企业级开源数据库社区。OceanBase开源版将与商业版共同演进,愿和全球开发者、伙伴共同演化出丰富的数据处理产品,促进社区的繁荣。”

PingCAP作为国内数据库开源厂商的先导企业,其开源社区即TiDB社区的运营分为三部分:内容、活动、人的运营。

在内容上,以解决问题为目的,分为文档、视频、论坛三种形式。

在活动上,以科普和建立联系为目的,分为线上/线下meetup和竞赛两种形式。

在人的运营上,则以增强社区粘性、提高社区规范为目的,设立荣誉机制。

三是重塑数据库商业模式。

利用好开源协议,创造新的盈利模式,是数据库开源重点方向。

一方面,开源许可证免除了厂商对软件质量与软件缺陷修复的责任,也形成了支持+服务的商业模式,即为用户提供生产级的服务支持响应、技术培训等,获得收入,商业Redhat就是一个典型代表。

开放核心(OpenCore),但增加部分商用功能或独立商业版本。通常开源部分完全免费以便更好的推广,而从商业部分的许可销售和支持服务获得收入。其典型代表就是Redis、MySQL,以及TiDB、OceanBase等。

企业通过自有核心产品开源,扩大用户生态,快速获得反馈,不断改善产品,形成逻辑闭环。虽然这些产品都通过兼容开源数据库协议(如MySQL)获得部分开源红利,但内核开源无疑对获得企业(特别是大型企业)客户,尤为重要。

而华为的openGuass开放内核能力,并联合上下游厂商提供商业产品,而非自建方式。其想法是通过扩大数据库上下游生态,完成数据库布局,并借此撬动线下庞大的传统数据库市场。

甲骨文CEOLarryEllison说过:“开源软件的成功既不是因为开放,也不是因为免费,而是因为它的确优秀。”

开源数据库如果单纯以开源为卖点,那么不一定能存活。开源只是通往成功的一座产品与商业桥梁。