这款数据库将企业版功能100%开源还不收费,不用恰饭嘛?

在越来越多的数据库选择变更开源协议以防止被“滥用”的时候,这款数据库为何反其道而行之,决心将包括企业版在内的功能 100% 完全开源?

YugaByte DB 是一个高性能、云原生的分布式 SQL 数据库,包括企业版和社区版两个版本。相较于社区版,企业版提供了更丰富的功能,不过这些功能收费且闭源。但就在前两天,YugaByte DB 创始人兼 CTO Karthik Ranganathan 宣布 YugaByte DB 已 100% 完全开源,采用的是 Apache-2.0 开源许可证。

这款数据库将企业版功能100%开源还不收费,不用恰饭嘛?

由于 100% 开源,创始人表示 YugaByte DB 此前闭源的商业化和企业版功能也会完全开源,如分布式备份、数据加密和只读副本(Read Replicas)功能均已在开源版本中提供,并且完全免费使用。

除此之外,即将推出的新功能如 Change Data Capture(CDC,数据变更捕获) 和 2 Data Center Deployments(双活数据中心部署) 同样可在开源版本中免费使用。闭源的管理软件 Polyform Project 也转为 source available 且只能免费试用的模式。

简单来说就是不再区分企业版和社区版,此后 YugaByte DB 有且只有一个版本,并且完全开源。这些变更从最新发布的 1.3 release 开始生效,此版本目前已处于 GA 阶段。

为何突然有如此大的转变?不妨来了解一下。

对于 YugaByte DB,Adobe 的专栏作家兼开发者生态负责人 Matt Asay 作出如下评价:

越来越多的开发者将 PostgreSQL 作为一种逻辑的 Oracle 替代方案,因为他们不再使用在多云上运行且基于微服务的单一数据库。但 PostgreSQL 毕竟不是专门面向动态云平台而构建,因此这个开源替代方案会受到限制。

YugaByte DB 通过在现代云基础设施方面深度支持 PostgreSQL 的功能从而填补了这一方面的空白。如今 YugaByte DB 选择 100% 开源,相信会有更多人愿意采用它 —— 对在云原生平台上构建关键业务应用的开发者和运维工程师尤其有吸引力。

下图总结了在 2018-2019 期间,Yugabyte DB 和 MongoDB, Cockroach Labs, Confluent(Apache Kafka 背后的主要商业公司)以及 Elastic 关于开源举措变化的对比:

这款数据库将企业版功能100%开源还不收费,不用恰饭嘛?

为何要开源?

经过了这么多年,开源已被证明是开发和分发关键业务型基础设施软件最成功的方法。首先,它消除了用户使用软件的阻碍,再加上开源软件具有完全的使用*,这使得它的采用率呈指数级增长成为可能。接下来,由于大家都采用开源软件,且开源具有快速、协作和社区驱动的特质,这就为开发功能丰富的软件提供了必要的快速反馈路径,同时保持软件的高质量和可靠性。同样得益于开源,增强安全性、与生态系统集成、可扩展的框架和其他企业功能自然也会变得更强大。

那么采用免费增值模式(freemium)的专有基础设施软件是否也能达成这样的目标?答案当然是肯定的,但如果要发展到同样的成熟程度可能需要花费更长的时间。此外,对协作开发的欠缺和较慢的反馈路径亦即意味着这些专有软件可能并不会引起市场的关注,从而逐渐消失。

简而言之,通过开源,这些基础设施软件不但迅速获取到了大量的用户和市场,还保证其能实现快速的稳步迭代。

开源 vs. 商业

首先要明确的是,开源和商业盈利并不相互矛盾。毕竟拥有健康的商业盈利,才能持续为开源软件投入资源。

目前开源基础设施软件的商业模式主要有三种:
1.
通过提供服务、技术支持以及培训来收取费用

2.
核心代码开源(Open Core)

3.
提供收费的托管服务

第一和第三种都比较好理解,像 MongoDB 去年就收购了数据库托管公司 mLab —— 为自家的收费业务 MongoDB Atlas 获取更大的市场。毕竟 mLab 在其平台上拥有大约一百万个托管数据库,其中包括免费和付费的用户。

至于 Open Core,其实是指虽然已将软件的核心代码开源,但厂商会将更有价值的功能放在“企业版”,然后进行收费。对于数据库和数据基础设施公司而言,这些附加功能一般包括构建新的数据模型、备份已存储的数据、保证数据安全以及加密服务、多数据中心复制等。

数据库的管理软件也不在 Open Core 范围之内,它们主要提供扩展、升级、备份和监控数据库,以及自动化创建集群的功能。

DB 商业化与 DBaaS 商业化

先将近期 OSS 数据库修改开源许可协议的案例搁置一边,我们能从这些 OSS 数据库商业化的历史中学习到什么?

首先要理解 Amazon Aurora 为何能成功地将 PostgreSQL 和 MySQL 的巨大采用规模实现商业化。其次,MongoDB 公司如何通过 MongoDB Atlas 将 MongoDB 的大规模采用率实现商业变现?最后在数据分析市场,Databricks 和 AWS EMR 又是如何通过 Apache Spark 开展商业化业务?

在众多的案例中,可以看到直接将 OSS 数据库商业化少有取得成功的例子,但通过云服务进行商业化则有广泛的成功案例。这里深层次的原因是用户需要花费很长的时间才能建立对涉及关键业务的数据库(business-critical DB)的信任,但这种信任一旦建立,他们愿意为 DB-as-a-Service (DBaaS) 带来的便利投入大量资金,尤其是他们的采用率达到一定规模的时候。

所以 YugaByte 有理由相信,如果 AWS 基于 OSS 项目构建托管服务,那可以说是如入无人之境。虽然包括 AGPL 在内的一些开源许可证会影响 AWS 的扩张速度,但无法阻止它对市场的蚕食。另外,AWS 基于 OSS 项目构建托管服务也证明了此项目具有持续发展的潜力。

所以对于商业 OSS 公司而言,这就意味着他们必须提供足够优秀的 DBaaS 服务来与 AWS 竞争,而非单单依赖于核心 OSS 数据库的优势。

基于上述的原因,YugaByte 决定将 YugaByte DB 100% 完全开源,并划清 OSS 数据库和商业 DBaaS 产品之间的界限。此前企业版提供的自托管(self-managed) DBaaS 功能被重新命名为 YugaByte Platform,以 Source Available 的形式提供。

与此同时,他们还宣布了 YugaByte Cloud 的早期计划,这是在 AWS 和 Google Cloud 上完全托管(fully-managed)的 DBaaS 产品。

这款数据库将企业版功能100%开源还不收费,不用恰饭嘛?

最后

YugaByte DB 具有基于 Google Spanner 的存储架构和基于 PostgreSQL 的查询层,旨在为现代应用程序在云原生基础架构上提供分布式 SQL 中的体验(类似 Oracle)。完全开源之后,其工程团队表示他们将带领 YugaByte DB 比以往更快地向云原生模式发展。

上一篇:cmd查找进程,关闭进程


下一篇:阿里云OSS存储