黄东旭解析 TiDB 的核心优势
534
2024-03-15
我在2016年讲过一句话:“开源是基础软件成功的唯一路径。”如果更严谨一点,要给这句话加一个限定词——中国,即“开源是中国基础软件成功的唯一路径”。
—— PingCAP 刘奇
2020 年, 一 场 悄 无 声 息 的 风 暴 开 始 席 卷 全 球。到 了 2021 年, 这 场 风暴开始走进公众的视野。
白鲸开源(全称北京白鲸开源信息科技有限公 司)、 矩阵起源[全称矩阵起源(深圳)信息科技有限公司]、 ***、 Yugabyte 等开源软件企业相继官宣获得新一轮融资。2021 年 6 月, 云计算企业 Confluent 上市, 市值突破百亿美元, 达到 114 亿美元。10 月中旬, 全球知名开源代码托管和 DevOps 平台 GitLab 在美国纳斯达克挂牌, 首日市值 为 149 亿美元。12 月, 开源软件公司 HashiCorp 也宣布在纳斯达克上市, 市值又创新高, 首日收盘达到 153 亿美元。
而稍早上市的 ***、 Elastic 等开源软件企业, 市值也都纷纷突破百亿美元。还未上市者, 也出现了一波融资热:
Databricks 获得 16 亿美元 H 轮融资;
开源工具 CloudQuery 获得 350 万美元种子轮融资;
ArangoDB 获得 2780 万美元 B 轮融资;
StreamNative 获 2300 万美元 A 轮融资;
SphereEx 在 2022 年 1 月完成近千万美元的 Pre-A 轮融资。
仿佛在一夜之间,“开源”成了最炙手可热的商业密码。但在此之前的大约 10 年里,“开源”和“商业化”之间似乎总是存在一些悖论。甚至直至现在还有不少人认为,“开源”就意味着免费——连软件的源代码都公开了, 还怎么收费呢?
其实不然, 正如版权内容一样, 公开源代码并不等于放弃了所有权利, 开源是基于很多种授权许可的。
开源和商业化其实完全是两个维度的事情, 如果将开源比喻为种菜,那开源软件源代码就相当于种子,业务成功相当于长出来的菜。传统上的软件商业模式类似于卖种子,但种植、施肥都是客户自己的工作。开源软件的种子是免费的,地是客户的,种菜的人也是客户自己。在开源商业化的早期,开源厂商的商业化模式就是提供种菜指导服务,尤其是在一些种子不是太好种的情况下,提供专业指导服务是非常有价值的。
开源软件最传统的商业模式就是软件开源, 厂商靠技术支持和服务收费, 这种模式也被称为 Red Hat 模式。原因就在于, 只有 Red Hat 等少数公司靠这种模式获得 了商业收入。这也是由于当时网络很不发达, 连操作系统这样的底层软件都还极不成熟的客观条件导致的。Red Hat 在这样的条件下, 靠为一个 Linux 发行版提供技术支持和服务, 成为第一家年收入突破 10 亿美元的开源软件公司, 获得了多轮融资, 并在 2018 年以 340 亿美元的天价出售给了 IBM——这其实是为近几年的收购热潮埋下了重要伏笔的大事件。
但是, 如今这样的天时地利已经一去不复返。Red Hat 的神话不仅在于它把握住了历史机遇, 同时也在于它不断地与时俱进, 在 IBM 收购 Red Hat 的时候, 它的商业模式早已脱胎换骨。
另一种以 MySQL 为代表的商业模式叫作 Dual-License(双授权)版本。这种商业模式的采用者把同一套源代码以两种方式授权给商业用户和非商业用户。通常,这种模式适用于那些对非商业授权使用了规定比较严格的许可证,如 GPL (GNU 通用公共许可证)。
这么一来, 非商业授权用户如果要在这样的授权方式下开发自己的应用软件, 就必须也要用同样的授权方式开源这些应用软件, 而这很可能不适用于很多商业软件开发商,所以他们就会付费使用商业授权。
以上两种商业模式都是比较传统的。目前比较流行的新商业模式主要有以下几种:
订阅服务:开源许可证免除了厂商对软件质量与软件缺陷修复的责任, 但这些恰恰是商业应用软件所必需的。因此, 在商业模式中提供软件订阅服务, 就可以向客户提供生产级服务支持响应和 Hotfix 修复。需要注意的是, 这和上面提到的零售式支持和服务是完全不同的商业模式。订阅服务实际上是一种软件保障, 是按时长或服务包的方式销售的, 可以为开源企业带来可预测的收入。
Open Core :开放核心, 即将核心部分的组件开源, 但将工具类软件和进阶功能闭源收费。通常会有两个因素促使商业用户选择此类开源产品:工具和进阶功能对自己有价值;这些功能不太可能由社区提供, 也不在开放核心的未来路线图中。但是开放核心商业模式若要持续成功, 最重要的是不要让社区感到因为要商业化, 所以开放核心就有所保留。要绝对保证商业产品与开放核心是互补的, 而不是冲突的。
对于大多数成功的开放核心公司来说, 其客户仅占总体用户的一小部分。确保开放核心这部分的成功, 才是商业产品取得成功的关键。
托管服务:托管服务就是与云厂商合作, 将开源产品以托管方式向终端用户销售, 终端用户能够以类似 SaaS 产品的方式使用基础设施组件, 而无须自行管理基础设施。这种模式有一些潜在的问题, 就是有时云厂商会不守“规矩”, 利用自身的技术能力, 直接将开源产品“拿来”, 做成自己的托管产品销 售, 并不与开源产品的开发商进行销售分成, 也不反哺开源社区。
不过, 近年来这种情况有一些改观, 因为一方面云厂商发现自己做开源产品改造的成本相当之高, 有时还会受到许可证的限制;另一方面, 也有不少开源产品的开发商会把开放核心与托管服务这两种模式做结合, 也就是说把开放核心产品的闭源部分拿出来与云厂商合作, 在托管产品销售时提供进阶功能。
从商业角度看, 整个数据库和基础软件行业的商业模式正在发生特别大的变化:过去我们希望通过售卖许可证(License)进行私有化部署, 而现在希望能够实现规模化的扩张, 这也正是从私有化部署到 DBaaS(DataBase as a Service, 数据库服务化)的变革。作为一家成功将数据库商业化的公司, NoSQL 的代表 *** 走出了一条很有启发性的道路。自从推出云托管服务后,*** 每年的市值增长迅猛, 现在已经达到了 150 多亿美元。
从 *** 的财报可以看出, *** 的 DBaaS 形态 Atlas(基于云端的数据库)基本上每年都保持着一定的年复合增长率, 这就是云服务的价值所在。
国外虽然已经有成功先例,但目前国内开源商业化成功者还寥寥无几,这也让国内舆论对开源商业化是否能成功充满了质疑。坦率说,国内开源商业化土壤确实还不够成熟,也对开源创业者及企业提出了诸多挑战:
1. 开源技术最积极的应用者莫过于数量庞大的互联网企业,过去二十年,各种开源技术为中国互联网的爆发式发展提供了基础,为人们日常使用的各种互联网应用程序提供支持,但互联网企业普遍对开源软件付费意愿低,且没有给开源社区贡献太多代码,这种情况近两年随着开源的热度提升已经有改善。
2. 在中国传统行业中,私有部署、私有云的软件应用模式仍占比较大的比重。与海外相比,国内企业对上公有云的意愿尚存在差距。以 *** 为代表的 DBaaS 模式在国内存在落地难的窘境。此外,国内公有云生态不成熟,一些公有云免费获取开源软件后会重新打包在其云上销售和运行。
3. 很多厂商将开源视作一种商业模式,并不注重开源社区的发展,本质上还是一种传统软件公司的模式。其实无论采用哪一种商业模式, 做开源产品的企业要想做好商业化, 都不能忘记了“开源”这个根基, 否则就会走上传统软件开发商的老路。而开源本身在商业化上其实有着一些传统软件开发商不可能具备的巨大优势, 这些优势只有真正做开源者才能享受到。
尽管开源商业化道路崎岖,充满挑战,但刘奇、黄东旭、崔秋这三个 PingCAP 创始人仍然从创立公司的第一天起就选择了开源。他们对开源有一种执着,看到了开源的更多可能性,靠一种初生牛犊的韧性生生闯出了一条路。
那时,数据库仍然是个巨头林立的市场,国内的开源软件公司也没有商业化的成功路径。但在刘奇眼中,恰恰因为数据库这种基础软件太难做了,他们认识到唯有坚持开源才有一线生机,PingCAP 闯出来的这条路也为后来的开源创业者蹚出了一条路径。
▲ 左起:黄东旭、刘奇和崔秋
我在2016年讲过一句话:“开源是基础软件成功的唯一路径。”如果更严谨一点,要给这句话加一个限定词——中国,即“开源是中国基础软件成功的唯一路径”。
——PingCAP刘奇
中国有全球领先的巨大市场和需求, 领先的需求一定会产生领先的场景, 尤其是移动互联网的场景。在这些领先的场景里就应该有机会在某些领域产生世界领先的基础软件产品。那么, 过去这样的产品为什么都似乎与我们无关呢?因为基础软件的底层特性导致这些场景以及有场景洞见的人才都被分散在众多大中型企业中, 同时这样的分散又遏制了基础软件的普适性和可复制的优势。这么分析下来, 只有开源能将这些分散在各个企业的人才和场景聚拢起来形成合力,很明显开源就成为探索金字塔顶端的唯一路径。
目前,PingCAP 创立的分布式关系型数据库 TiDB是国内流行度颇高的开源产品,在 GitHub 上已总计获得超过 33.1k 颗星,累计超过 1631 位开源贡献者。TiDB 项目已经合并的 Pull request 数 25921 个,已经解决的 Issue 数 10744 个。目前,TiDB 已经向包括中国、美国、欧洲、日本、东南亚、印度等国家和地区,超过 3000 家企业提供服务,涉及金融、运营商、制造、零售、互联网、政府等多个行业。
▲ ossinsight.io 上的 TiDB
在中国,开源商业化起步较晚,大部分开源公司还未进行商业化探索。在这一方面,PingCAP 成了第一批吃螃蟹的人。通过多年的开源与商业化实践,PingCAP 探索出一条自己的的开源商业化模式:社区迭代+企业级订阅服务+云服务。
▲TiDB 的三种交付形式
开源技术体系上游的开源社区是整个创新的源头, 开源社区通过全球协作的开源项目, 以不断交付的方式形成源头创新。再通过这种源头创新的方式, 不断把创新的技术通过全球社区协作的方式生产出来。开源社区实际上已经成为新技术无可取代的创新引擎。
在 PingCAP 的理解中, 开源社区由产品(product)、 用户(user base) 和贡献者(contributor)这三大部分构成。这三个组成部分并非静态存在, 而是形成了一个不断循环转动的飞轮。简单地说, 用户使用产品时的真实场景驱动了新需求的产生, 社区齐心协力开发软件、 维护文档以更新产品, 更强大的产品又带来更多的用户和使用场景。
这里面非常关键的一点是, 大量的社区贡献者本身就是产品的直接或间接用户, 他们拥有开发能力。而他们背靠的是基数更大的、 对产品使用场景有着深刻认识但未必有能力直接进行代码和文档维护的用户群体, 并和他们在社区中有着紧密的、 端到端的接触。只要稍加思考就能明白, 这样的飞轮每一次转动, 带来的都是一次全面增长——场景更深广、 产品更成熟、 社区更壮大, 所以也称其为增长飞轮(见图)。
增长飞轮运转的具体方式, 首先是社区通过用产品(或项目)丰富、 完善社区内容, 定期举办各种活动、 比赛等形式, 吸引目标用户认识产品, 并对其产生兴趣;之后目标用户可能会考虑这个产品是不是对自己有用, 评估和衡量这个产品是不是适合自己的场景, 然后决定使用该产品;当用户使用产品后, 觉得不错就会自动分享出去。
以 TiDB 为例, 当企业用户把 TiDB 用在最核心的场景时, 用户自然就会希望能对这个项目有源代码级别的把控, 而 TiDB 的开源就成了一大优势。当企业为 TiDB 贡献代码, 他的技术人员对 TiDB 有了足够的了解后, 企业也会更紧密地跟 TiDB 项目绑定, 该技术人员就会成为 TiDB 的布道师, 甚至在团队内的其他业务上帮 TiDB 宣传, 而不仅仅是传统的软件销售模式。
这么一来, 开源社区足够多的场景验证并推动产品研发往正确的方向迭代, 一个更快速迭代和符合用户需要的产品又降低了大家采用它的门槛和成本, 进而进一步促进用户数量的增长。
PingCAP 从第一天起就将源代码开放出来,客户和用户都能够自行在开源社区中下载 TiDB 源代码进行编译,发布到自己的生产环境中,服务于自己的客户。当他们遇到问题时,可以选择自己修复 bug,或与 PingCAP 一起探索,共同完善 TiDB 功能,使得 TiDB 得以快速迭代。
早在 2016 年,PingCAP 就在盖娅互娱进行了第一次商业化尝试。彼时,盖娅互娱上线了一个智能实时广告投放系统,用于支撑全平台实时广告投放。随着业务的发展, 以及越来越多游戏用户的接入, 该系统每日接收的数据量很快突破了千万级, 高峰期每次参与实时匹配的数据量更是大得惊人,原有 MySQL 数据库无法应对这种挑战。
PingCAP CTO 黄东旭在得知盖娅互娱陷入这种困境后,主动向盖娅互娱的 CTO 推荐了当时还在内测的 TiDB,盖 娅 互 娱 采 用 TiDB 及时解决 了 MySQL 扩展问题。
就这样, TiDB 有了第一次在用户真实生产场景中商用的机会。从此以后,PingCAP也为其他公司提供TiDB产品,商业化规模逐渐扩大。
作为一家做数据库产品的公司,仅仅只有开源也是不够的。PingCAP 是一家非常年轻的公司,一方面产品需要快速地迭代,不断将产品价值快速交付客户;另一方面,面对许多核心场景,需要打磨一个更加稳定的产品,让客户非常高效非常放心地使用。所以, PingCAP 采用了一个“稳态+敏态”双轨并行的研发机制,保证产品更新对用户触手可及,同时在核心场景也能稳定放心的使用。
敏态为开发里程碑版本(Development Milestone Release,简称 DMR),保持快速发版的节奏,可以以月为单位不断发布新特性,让用户所需的新需求不必等待很久(但并不提供基于 DMR 的问题修复),主要是为了让 TiDB 的发版节奏能响应快速变化的市场需求。稳态为长期支持版(Long Term Support,简称 LTS),主要为满足企业级用户对稳定性的要求,在没有特定需求开发的情况下,可以选择最新的 LTS 版本投产。
PingCAP 会基于 LTS 版本提供 TiDB 企业版订阅服务,企业客户通过购买 PingCAP 企业订阅,商业用户可持续获得企业版产品演进带来的创新与能力提升,同时享有产品故障的及时诊断与修复和来自 PingCAP 产品支持专家的专业指导与支持。
由于 TiDB 不断打磨,快速发布新版本,许多用户还会面临一个非常大的选择问题:新产品是非常好,但我的数据库跑得好好的,为什么要升级?数据库在企业数字化系统中是非常核心的组件,版本升级往往面临着着很大的风险,能不能不升级?
PingCAP 的答案是,要升级:一方面客户通过升级到最新版本,在延迟和性能方面都得到了大幅提升,并提供了云原生和智能化等新功能,让用户更有信心将注意力聚焦于自己的业务逻辑开发上;另一方面,PingCAP 研发工程师与服务团队一起打造了一套完善的数据库升级体系,支持客户的平滑升级。
目前为止, PingCAP 技术服务人员的总人数已经占到了公司总人数的 25% ,成为继产研之后的第二大团队。可以说,PingCAP 既是一家产品型公司,也是一家服务型公司。PingCAP 服务体系包含三个方面——订阅服务、专家服务和培训认证。
在企业级客户中,金融行业对数据库产品的要求最高,也是一款企业级软件的试金石。2018 年时,TiDB 在金融行业有了第一个商业客户——北京银行的网联系统投产。基于 TiDB 企业版,北京银行在分布式核心系统项目上取得的成效不仅构建了支持高并发、高可用、可横向扩展的解决方案,而且大幅缩短了新产品和服务研发时间,建立起差异化竞争优势,赢得了客户的认可,促进了业务创新发展。
一个好的生意应该是可以规模化的。传统开源软件公司的商业模式, 问题在于规模化中需要人的介入, 如销售 / 售前 / 售后交付等, 而基于人的生意是没法规模化的。在云诞生前这个问题是无解的, 所以开源软件公司需要寻找一个和开源无关的软件商业模式, 而云本质上是一个资源租赁生意, 同时只有云上的服务才能突破地域的限制。
回到本文开始的比喻,过去传统的商业模式中, 因为土地和种菜人都是客户自己的, 所以开源软件公司的位置就比较尴尬, 但是在云上, 基础软件商业模式本质上是一个托管服务, 让原来价值链条中最重要的一部分“土地”(托管资源和基础设施)掌握在了厂商手上, 这对于用户来说也是好的, 毕竟管理“土地”也是一件费心费力的事情, 而且很难做到按需购买。
问题在于用户想要的只是一道好菜而已, 注意这和开源(种菜)并没有什么关系, 因为不管开不开源, 用户支付的都是管理和租赁费用, 相当于即使种子和食材免费, 顾客去饭店吃饭, 也需要为菜品买单, 因为顾客购买的是好菜和服务体验。
当前,无论国内还是在海外,云都是技术演化的未来,而恰恰云能够将整个 PB 级别的数据库服务平台价值无限放大,在云上 PingCAP 提供了 DBaaS 服务 TiDB Cloud,这是一种开箱即用,用户可以轻松进行集群部署和管理的数据库服务。
同时,PingCAP 在去年底还发布了一种云端数据库的下一代形态,全新的数据处理和访问形式—— TiDB Cloud Serverless Tier。PingCAP 提供非常方便易用的 Data API,让企业级用户只需关注自己的业务,不用在意数据在哪里,底层长什么样。这个数据服务能做到秒级别的创建速度,亚秒级别的唤醒启动,毫秒级别的访问延迟。
当一个数据库具备这样能力时,对于用户的价值是非常大的。一方面,所有开发者都拥有数据库,关于 TiDB 人才培养再也不需要担心;另一方面,用户只需要关注于自己的业务逻辑开发,以及如何更快将业务推向市场。从而使用户使用数据的心智负担降到最低,这也会大大拓展TiDB Cloud的用户群,包括个人开发者在内的长尾用户都可以在应用开发的第一天使用TiDB。
最近,TiDB Cloud Serverless Tier 推出了一个 AI 生成 SQL 的工具 Chat2Query beta 版, 它可以让用户用自然语言生成 SQL 去做相应的数据查询,从而让每一个用户都可以以非常容易的方式从数据中获取洞察。
PingCAP的商业化也还处于快速探索期到规模商业化的转换期, 在模式上坚持的一些方式还是很值得参考的:
1. 以开源为基础,与客户建立了牢固的信任体系
开源天然地解决了彼此的信任问题, 这正是开源的独特魅力, 让社区中来自全球各地的每个人都有机会认识你、 认可你、 认同你。
在信任的基础上, 开源产品可以在全球化的舞台上实现高效传播。基础软件的特点是通用性, 中国用户能用的功能, 美国、 日本的用户也能用。解决用户痛点, 拥抱真实场景, 就会不断积累用户。比如“美版知乎”Quora 看到 TiDB 在国内知乎的使用场景后, 很快就能建立对产品的信任。基于此,TiDB 开源社区的活跃度在这方面也提供了很大的帮助, 既解决了信任门槛的问题, 同时在海外市场做广告和宣传时也避免了很多麻烦。
2. 乘云之势,全球化发展
相比于国内市场,全球数据库市场才是一个更大更广阔的市场。作为一家新兴的数据库厂商,只有立志于做全球化市场,才能闯出一条出路。而云的空前繁荣不但能够让 PingCAP 实现更好的快速交付、 完成迭代创新,也给 PingCAP 的发展带来了极大的推力,让 PingCAP 的全球化发展路径变得可行。
同时,PingCAP 所坚持的开源模式也能够推动国内外协同发展,有效地将国内的场景优势和工程师优势与全球的开源运动进行结合, 调动全球开发者参与,吸引来自全球的优秀工程师参与其中。云+开源已经成为 TiDB 增长的两大“加速引擎”。
3. 长期主义的开源社区
在商业化过程中, 开源社区也极其重要, 海外有些付费客户找到 PingCAP 的时候, 已经把 TiDB 用在生产环境中了, 进而想将 TiDB 用在更有挑战的核心业务中。有客户从拿到 PingCAP 的商务条款、 谈价格到成交只花了数周时间。
从 TiDB 过去几年的实践来说,开源社区和商业用户之间通过混合生态的模式是可以互相促进的,比如TiDB的社区用户组 TUG 已经拥有 2 万多个会员,这里面既有互联网企业,也有各行各业的企业用户,遍及金融,电信,政府,制造,零售等等行业,用户通过开源版本趋近TiDB的优势场景,然后也将 TiDB 逐步用到企业核心场景,一旦用户对于这些应用有SLA方面的要求,他们就会成为TiDB 的商业用户,TiDB 在 2022年获得了北美,日本,印度,泰国,欧洲的很多大型用户,一般是在认可开源数据库的领先技术的同时通过云服务完成商业化的订单。
社区是用户认知和技术采用的上游水坝,商业化是用户核心场景获得 SLA 服务的下游河流,两者是通过持续的运营和价值传递来联结的。
4. 开放生态,企业用户深度参与共创
很多人认为开源社区是竞争壁垒, 其实并不是, 真正的壁垒是开放生态, 而开源社区是构建生态的一种高效方式。大型企业可以和开源社区形成基于产品的深度协作, 让大型企业不仅可以把握自己的创新节奏, 还可以反哺开源社区。在这方面,PingCAP 有很多鲜活的例子。例如,在和平安科技的合作中,其实一开始 PingCAP 是作为一个供应商去帮助他们解决企业内部遇到的数据增长问题。
但在这个过程中,平安科技逐步参与到 TiDB 社区里的多个项目中,并提了很多代码贡献,也参与了社区的运营活动,逐步发现PingCAP 真的是在用心经营社区。所以就平安科技就基于 TiDB 作为上游社区、上游生态,打造了自己的分布式数据库,满足企业内部的一些数据库创新需求。
选择数据库作为创业方向, 并在第一天就选择完全开源的模式, 这在 2015 年的 IT 圈是个非常疯狂的做法。在创业刚开始那几年, PingCAP 没有任何营收。最支持 PingCAP 的投资人也问刘奇:“既然你觉得你是最好的, 为什么要开源?”这也可以理解, 因为当时业内的很多舆论场充斥着“好的软件都不开源”这样的流行言论。
数据爆发的时代,人们往往高估了短期, 低估了长期。其实做产品、 运营公司亦然。在志向高远的前提下, 坚持长期主义必有回报。要想在开源领域取得成功,开源企业需要从第一性原理出发做开源,必须“守得云开见月明”。
PingCAP 选择了长期主义,选择了开源。七年多只专注在 TiDB 一个产品上, 一路走来,打造了服务 3000 多全球用户的数据库公司,这个“原力”主要来自于“开源”。PingCAP 创始人兼 CEO 刘奇认为做开源应该先创造社会价值, 再从社会价值上萃取一部分商业价值, 这也是 PingCAP 对于自己未来发展的长期的期望。
近十年涌现出来的数据技术创新 95% 是开源的,现在的创业项目如果不开源可能都不会获得关注了,但开源商业化并不会一帆风顺,希望文本对当前众多进行开源创业和运营开源软件公司的读者是个很好的参考, 同时也可以让关注开源的企业用户对开源有深入的了解, 了解开源商业化的运作机理。大家如果想了解更深的话,也可以关注《与开源同行》这本书,书中详细介绍了 PingCAP 的七年创业历史和经验,本文中的部分内容也摘自本书。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。