数据库 频道

数据库春秋战国时代,凭借开源策略能否杀出重围?

  当前国内数据库市场春暖花开,空前繁荣,迎来前所未有的历史机遇,犹如春秋战国时代,各展所长,跑马圈地。一路进击的国产数据库,虽然具备了挑起高端市场(支持核心系统)大梁的技术储备,但是与用户建立信任还需要更多时间,还有一些短期无法解决的痛,比如人才的短缺以及生态的不完善等。

  可以看到国内一些主流数据库产品如TiDB、openGauss、PolarDB-X、OceanBase采取开源策略,寻求破局,以此吸引用户、盘活生态和促进技术发展,凭借开源策略能否破局杀出重围?开源是数据库成功的必要条件吗?IT168&ITPUB带着以上疑问采访了业内专家。

  业内专家对数据库开源的态度各有不同,有人认为如今基础软件想要获得成功只能靠开源,开源是必要的,有人表示不确定,多数人认为开源只是一种策略,数据库的成功与是否开源没有因果关系。

开源能否破局?

  当2021年1月份初DB-Engines的数据显示开源数据库license数量首次超过商业数据库时,数据库圈有点沸腾,这是开源数据库发展的里程碑。不过就在去年年初,Snowflake发表了两篇博客,强调开源并不是软件的必要选择,只是一种手段,开源并不意味着成本更低等。

  无论是开源数据库还是商业数据库,市场上并不缺少成功的案例。如果一个数据库厂商有好的产品、完善的生态、广泛的用户群体,不成功都难,而随着开源被广泛关注,使用者越来越多,开源为数据库的发展提供了新选择。

  “数据库不是研发出来的,是用出来的”、“真实场景是最好的架构师”是业内的共识,数据库需要真实场景的打磨与锤炼才能不断成长,有了更多的实践案例用户才敢用。不只是数据库,任何软件产品都需要广泛而快速有效地触达用户,开源被认为是可以快速、广泛触达用户的有效方式。

  PingCAP联合创始人CTO黄东旭是开源忠实的信徒,他始终坚信如今这个时代开源是基础软件获得成功的唯一路径。他曾撰文指出如果内核不开源,基础软件产品的生命力是有限的。流行的开源软件更具有生命力,一方面开源能够触达足够多的用户,可以比闭源软件更高效地获取、吸收和理解更多场景,锤炼产品,而在这个过程中因更多的人的使用会形成人才的垄断。另一方面,只有高速迭代才能立于不败之地,而开源加速了产品的高效迭代。根据最新的数据,PingCAP的开源数据库TiDB每年40%的代码都是新的,在更新的代码中40%是开源社区外部贡献。

  国内开源数据库的表现比较亮眼,根据墨天轮国产数据库流行度排行,近两年开源数据库TiDB一直处于榜首。openGauss在开源一年多后非常迅猛地成为第二。在openGauss Summit2021峰会上中国工程院院士廖湘科指出,数据库是公认的最为复杂,跨技术领域最多的基础软件,其发展难度更大,更需要产业界形成合力、不断创新,来推动数据库产业的高质量发展。随着国家在政策层面对开源推动指引,数据库也要充分利用开源和发展开源,广泛吸纳全产业力量,打造根植于中国的开源社区,形成创新活力,在合理的社区治理框架和机制上有机协同,最大发挥各方合力。

  openGauss社区理事长江大勇提到,数据库技术是需要长期投入的产业,技术创新是openGauss立足之本,生态构建是openGauss能否繁荣的关键,在商业推广方面用户开放场景是对openGauss最大的支持和肯定,开源建设和人才发展是创新的源泉,技术、生态、商业,开源建设和人才发展五大因素协同,共同打造数据库根社区。

  阿里云数据库事业部产品与解决方案部总经理王伟民 (花名:唯敏)强调,开源是一种策略,并不是决定数据库厂商能不能在未来的竞争中脱颖而出的必要条件。之所以开源PolarDB-X,主要有以下考虑,第一,用开源的方式、开放的心态去解决开放的问题和挑战,吸引更多人参与,第二,开源相当于智力的众筹;另外,开源也表示一种自信,是一种可以让用户检视质量的方式,这样能够把信任建立过程中的挑战大幅度降低。最后,阿里云也希望通过开源做数据库生态,比如应用的生态、人才的生态。

  对于数据库生态的建设,OceanBase开源负责人封仲淹认为开源对数据库的发展有加速作用,但是核心还是国家对基础软件的支持,让整个数据库人才变得更加夯实,变得更加有发展势头。数据库作为基础软件,就像操作系统一样,需要很长时间的积累和打磨才能成熟,这需要协调整个社会的资源和力量,而开源是一种非常好的方式,可以协调上下游ISV、厂商,协同开发者一起打磨产品让其变得更加成熟,这也是OceanBase选择开源的初衷。

  而作为开源的受益者,图数据库最受欢迎的Neo4j对开源破局的观点比较谨慎。Neo4j 首席科学家Jim Webber在2010年便加入Neo4j,一路见证了Neo4j的成长。他强调根据Neo4j的经验,如果想借助开源来构建一个软件并不现实,比如Neo4j所有的源代码当中,只有不到1%由开源社区的人员贡献,超过99%都是Neo4j自己完成,他认为开源或许可以帮助产品快速走向成熟。在云时代,开源并不是用户触达的唯一选项,云端部署以及推出免费的编译版本也是快速触达潜在用户的有效方式。

  TDSQL在2021腾讯数字生态大会推出了免费版来发力生态建设,腾讯云数据库相关负责人在指出,如今只把数据库简单开源并不能够真正撬动整条产业链,腾讯云数据库希望通过免费的方式协同更多生态合作伙伴构建生态。

  偶数科技首席架构师陶征霖指出,国产主流数据库选择开源的只是一小部分,大部分国产数据库都是闭源。商业的成功与产品的好坏和开源、闭源没有任何关系,关键还在于最开始对数据库产品架构未来趋势的引领与判断,“不是说依靠开源社区里多吸引点人,它就能帮你把数据库核心架构层面弄好。因为你开源时更多可能做的工程问题,它做的并不是架构、预研的东西。真正决定一个数据库能长久发展下去,架构层面必须要能经得起时间检验。”

  回到最初的问题,开源能否破局?答案是有可能。毫无疑问开源在联合产业创新以及触达用户、生态体系建设甚至助力产品快速迭代方面有优势,但是开源只是选项之一。长期跟踪开源的观察家Digital Realty的增长总裁Dave McCrory指出:“不是所有的软件都需要或应该开放源代码。对于很多软件来说,开源是一个合适的许可/模式,但不是所有的。”

如何打造流行的开源社区?

  录信数软CTO母延年指出,不可否认开源在生态体系上有着得天独厚的优势,更利于产品更快被受众接受,以便收集更多的反馈和快速迭代。但是开源的挑战也就是如何能吸引用户,现在并不是以前解决方案匮乏的时代,相反的是能提供的开源方案有很多,因此这对于开源项目本身的运营能力和品牌影响力也有着很高的要求。

  我在《开源的诱惑——数据库篇》中写道,目前,国内开源生态还面临发展基础较弱、底层技术掌控不足、开源文化氛围不浓、政策支持有待加强等制约因素。整个国家整个社会,产学研用的各方都在积极推广开源鼓励开源,参与到开源的发展建设中,开源的建设也需要日拱一卒,循序渐进。

  如果选择开源破局,有很多需要注意的地方。首先,打铁还需自身硬,专家们一致认为要等产品成熟后再开源。这很像武侠小说里,小徒弟拜师,不学成不让下山。毕竟行家一出手,就知道有没有。数据库开源出去,首先要让用户用起来,如果产品不成熟便开源,用户乘兴而来,用上全是bug,败兴而去,很难有第二次了。而在开源之前,需要明确整体的开源发展战略,对开源的发展有清晰的规划,能够长期持续投入到发展社区。此外,开源不是简单的开放源代码,背后还有包括license在内的很多规则,在代码、产品、商业之外,还需要在文化、规则投入更多的敬畏与重视,加强对知识产权的保护。在开源后的开源社区建设中,避免出现断层,开源社区的运营与治理也需要徐徐图之。

  信通院2021年发布的《开源生态白皮书》指出,开源社区发展需要经历五个阶段,第一阶段,触发期为正式开源,吸引用户使用。第二阶段,宣传期引导参与者反馈。第三阶段,协作期为形成共同体,促进贡献。第四阶段,结晶期为社区完成场景闭环,与商业化形成良性互动。第五阶段,流行期形成完整生态体系。而开源社区的断层现象比较普遍,主要发生在宣传期和协作期之间,在经历宣传期的快速增长后,社区大部分精力需要投入到“解决用户实际产生问题”中去。如果能跨越这一阶段,开源项目会变得越来越稳定与聚焦,迎来一个快速增长阶段。

  《开源生态白皮书》指出,开源社区具有自身的生命周期曲线,如果社区成熟度落后于炒作热度会导致社区出现断层。主要原因是社区不注重治理与运营,导致没有充足的人力资源来支撑项目的优化迭代。

  有专家指出,开源社区建设是否成功5年见分晓,而前两三年是关键。目前国内大部分数据库开源社区都处在初级阶段,距离流行的开源社区还有一段距离,但是已经取得了不错的成绩。数据库春秋战国时代,凭借开源策略能否杀出重围?我们拭目以待。

0
相关文章