CockroachDB是全球开源分布式数据库领导者,简称为CRDB,国内又称为小强数据库或蟑螂数据库,走兼容PostgreSQL协议路线。
CockroachDB诞生于2015年,产品定位与中国的TiDB类似。类似的产品还有OceanBase、YugabyteDB、PlanetScale,以及Google Spanner。下图是全球分布式关系型数据库发展趋势,数据来源是DB-Engines。
CockroachDB最开始的开源协议是Apache2.0,后来基于商业发展目标考虑,在2019年核心代码改为BSL(Business Source License),目的和MongoDB的SSPL类似,防止第三方提供CockroachDB的托管服务。CockroachDB的BSL协议声明,产品发布后3年后会自动从BSL协议转换为Apache2.0的协议,这对于那些新特性不感兴趣的企业是非常友好的。
开源软件最大的挑战是商业转换,2024.08.15号,CockroachDB官方再次宣布计划将从2024.11.18号开始关闭BSL协议,所有客户都转换为CockroachDB的企业版产品协议。企业版分为2种类型,年收入1000万美金以下企业可以免费使用,年收入超过1000万美金的企业可以试用30天,后面需要付费,详细对比参考下面表格:
这个协议变化非常大,对于小企业相对利好,可以免费使用企业级能力,但是对于营收超过1000万美金的企业,则不能再自己免费用了,必须要付费。CockroachDB的CEO在blog中也特别阐述了这次协议变更的一个原因是有些大型企业白嫖开源软件。
开源软件商业模式一直是业界难题,CockroachDB这次修改协议,对于开源软件商业发展提供了一种新思路。
以下内容翻译自CockroachDB CEO(Spencer Kimball)的blog文章:
在过去的十年中,我们帮助客户在各自的市场中占据领先地位,通过数据架构实现了无缝应对节点故障、数据中心故障、区域云故障,甚至能够在完全关闭一个云供应商的情况下保持业务的连续性。我们对公有云与私有云持中立态度,允许实现零停机的可移植性,以及公有/私有云的混合部署。同时,我们也为未来的数据迁移留有余地——毕竟,唯一可以肯定的是,业务需求将继续以难以预测的方式演变。
能够应对这些及其他挑战,正是 CockroachDB 成为全球最重要企业运行关键任务工作负载的可信赖数据库的首要原因。
从一开始,CockroachDB 就以客户可以自行运行的软件形式发布(“自托管”),有两个版本:免费的 Core 版本,提供个人用户或初创公司扩展所需的一切;以及 Enterprise 版本,面向需要集群优化、灾难恢复、增强安全性和专家支持的关键任务应用的企业。随着时间的推移,这两种产品的广泛使用促进了 CockroachDB 的快速发展。
在我们 Core 产品的使用中,出现了两个趋势。首先,初创公司和其他小型企业往往希望使用 Core 版本中没有的 Enterprise 功能。其次,越来越多的大型企业在使用 CockroachDB 的全部功能时作出了妥协,选择免费使用 Core 而非购买 Enterprise 许可证。CockroachDB 先进的弹性功能的讽刺之处在于,随着产品的成熟,越来越多的使用场景可以在生产中以最小的运维开销和支持需求运行。
因此,我们推出了一种新的许可模式,更好地符合我们客户的需求和我们业务的发展:
为所有用户提供 CockroachDB 的全部功能;
继续允许个人、学生和小型企业免费使用 Enterprise——这是我们对他们使用企业级产品实现全面潜力的一项投资;
鼓励大型企业公平地交换价值,以继续推动 CockroachDB 的快速发展;
保持我们的代码“源可用”,以便 CockroachDB 背后的理念可以帮助促进整个生态系统的创新。
随着 24.3 版本在 11 月发布,我们将退役 Core 产品,并为自托管用户推出新的 Enterprise 许可结构,该结构也适用于 23.1 及以后的新补丁版本。这个新结构将为所有用户提供以前仅在自托管 Enterprise 许可证中才有的强大数据库功能。CockroachDB 将完全保持源代码可用。请注意,这不会对我们云平台的客户产生影响。
新的 30 天试用和免费许可证层级 — 将于 11 月 18 日推出:
CockroachDB Enterprise 试用版:该许可证将可用于自助试用,持续 30 天,提供社区支持。
CockroachDB Enterprise 免费版:免费提供给个人开发者、学生、学术研究人员以及年收入低于 1000 万美元的企业。此许可证可每年续订,并提供社区支持。
简短总结:一个强大的自托管 CockroachDB Enterprise 版本
过去,将功能分割为 Core 和 Enterprise 不可避免地影响了使用 CockroachDB 的体验。通过合并为一个 CockroachDB Enterprise 产品,我们确保所有用户都能访问我们产品的全部功能和范围,并通过简化的试用体验交付。个人和小型企业现在将受益于以前仅付费客户可用的功能,但仍可免费使用 CockroachDB。