it编程 > 数据库 > PostgreSQL

国产数据库圈,为啥那么多水货?

167人参与 2024-08-04 PostgreSQL

如今,在“国产化”的趋势下,国产数据库领域的创业浪潮一浪高过一浪。截至2023年底,中国市场上有将近300款数据库产品,约有100家数据库厂商。知名投资机构如红杉、高瓴、腾讯等纷纷下场,每家手上投资的数据库至少在3个以上,可见资本的青睐。

一些数据库凭借自身的实力,拿下了亿元融资,中标多个项目,节节高升,成功上市;可是也有一些数据库,还在经受市场的质疑。在16家国产数据库相关上市公司中,盈利的寥寥无几,不禁让人怀疑这种“亏钱赚吆喝”的模式能走到几时?

那么,我们国内的市场,真的能容纳下这么多的数据库厂商吗?当下的数据库发展,又面临着哪些问题?究竟什么样的数据库玩家,最终才能突出重围?作为普通的中小型项目,我们又该如何挑选合适的数据库呢?

本期【开源漫谈】,我们邀请到了云原生数据库 clapdb 创始人李令辉、天谋科技联合创始人& cto 乔嘉林、 infra 工程师马工,一起来探讨一下,如今的数据库市场,究竟存在哪些问题?

 

01 数据库多,并不全是跟风的错

马工:目前的国产数据库市场非常欣欣向荣,有300多款数据库产品和有100多家厂商,同时也拿了大量的投资,客户也非常支持。但是目前来看,没有多少是算得上成功的、能够有国际影响力的。我们这种巨大的投入和极低的产出,成了一个巨大的反差。我们今天就想探讨一下,为什么形成这个反差,以及我们怎么能够缩小这个反差。

我们先来问问两位数据库的负责人,现在中国已经有400个数据库了,全球也就几十家,中国已经严重过剩了,那你们为啥还要做数据库呢?

 

李令辉:现在,国内挂名做数据库的企业,可能有上千家;有点名气的,我了解的可能有50家到100家。这些数据库,在我看来,就三到四种,即使它们看起来不太一样:

第一种是基于 mysql 魔改的,第二种是基于 postgresql 魔改的,第三种基于 postgresql 的 greenplum 魔改的,第四种是基于 java 的 es 或者 hadoop 生态圈包装......甚至都不是改的,是打包的。

从解决问题的角度来说,复用开源项目,只要不违反开源协议是没有问题的。但是,对于用户来说,其实并不需要这么多长得一样的选择,那只会增加选择的成本,并且谁也没有提供出别人不具有的功能,虽然他们每个都说自己是不一样的。

我这里要说一下,一个东西一不一样,你最常看到的回答是说:我做了一些创新。我相信没有一个数据库厂商会说自己一点创新都没有,每个都会说我做了一点微末的创新,这个“微末”可能是谦词,也可能是真的。

但是在用户的角度,真正能够享受到这一点点改进的用户,我认为是几乎没有的,或者非常少。因为你在另一个场景下可能就裂化,我们做工程的、做科技的都知道,你想走某一个条件下证明你的优越性,基本上任何东西都可以,不可能有一个软件或者有一种项目在任何情况下都没有优势,不可能。

我见过我们国内的竞品,他们为了去评标,把数据的特征直接记录在磁盘文件中,就不用计算了,读出来当取 max 值的时候,我们直接取。你说是不是一种创新?你不能说它不是,至少我没看别人那么做。但是你说它有没有意义?如果你恰好需要 max 那确实有意义,但谁会恰好需要一个不做任何筛选的数据文件中的最大值最小值?

我们的最大不同是,我们站在用户的角度来说,用户需要什么。我们解决的用户是一些在云上很差钱的用户。他们不是大企业,没有什么运维能力,没有 dba。而且,他们真的不太能够学习一个复杂的上千页的手册去部署使用,这太难了,加上 snowflake 也不便宜。但是他想用数据分析服务,他有很多复杂的数据分析需求,那我们就去满足这些用户的需求,让这些客户用得舒服用得便宜用得爽!

 

马工:我从数字的角度看,你就是一个更便宜的 snowflake,然后也不需要专业的 dba,而是直接服务开发者对吧,这一点确实不一样,因为我知道的很多国产数据库都是要培养自己的 dba,觉得我们的性能比它更好,我们这个查询平台分数比它更高,但是你这个思路确实就不一样了。那嘉林呢?你们实验室为什么要做数据库?

 

乔嘉林:我来回答这两个问题:第一个是为什么国内有这么多数据库?

首先,我们看看数据库是干啥的?它是管数据的。这个是大家公认的:把数据管起来,查得好,查的快。那我们就看看有多少种类型的数据:有向文档、关系、时序、键值、图、向量。如果我们把数据库当做一个归纳师,那我们要归纳的物体种类其实是蛮多的。在这个基础上进一步,有多少应用场景?像金融,是一个典型的场景,然后物联网它又是一个典型的场景,这每一个场景下面又会有细分的行业,他们对数据的使用方式可能也都不一样。所以这是导致大家在做数据库的时候设计理念和目标不一样的地方,也是现在数据库为什么这么多的一个比较大的原因。

在这个背景下,时序也是其中的一个数据类型,我们做的 iotdb,就是一个针对物联网场景的数据库,这也决定了我们是针对物联网场景的时序数据管理。这两个点结合起来,如果你是刚好处在这两个点上,那么我们的产品是一个比较好的选择。

那我们为什么要做这样一款数据库呢?

因为我们组叫数据存储组,专门帮企业研究数据管理的高效方法。我们实验室本身也是一个偏工业背景的实验室,所以我们接触到的数据存储也是偏工业和物联网的,一开始就把应用场景给固定下来了。一开始我们也是直接用的开源数据库 cassandra,在上面做业务的适配。但后面发现,它底层的核心设计,和用户想要的不完全一致。cassandra 更像一个灵活的键值存储,用户更想要一个偏时序操作的数据库,于是我们就开始尝试在里面去改,改到后面已经合不进原来的开源项目了,跟 cassandra 的发展目标不一致,于是我们就独立出来了。

 

02 开源闭源,都不好做

马工:我发现一个有趣的问题,就是你们俩的背景几乎是相反的。一个是从学术界来的,你看嘉林就没谈过钱,你都不谈成本!然后令辉是从工业界、从甲方来的,他一开始就谈钱:一次查询几毛钱?

你们这两种策略我看在国内数据库其实也有分,有的是商业数据库,有的是基于开源。你觉得从长期来看,各有什么利弊?

 

乔嘉林:有没有指标压力,对于我们做数据库的选型和设计,是有很大的影响的。要求一年上线的数据库和要求三年上线的数据库,设计肯定不一样。如果你一直有项目的压力,那你的所有设计可能都是围绕着项目的优先级去做的。

但我们最开始在学校做的时候,就没有这个压力,我们可能想的更多是互联网场景到底需要一款什么样的数据库?数据库的架构需要是什么样子的?现在的开源技术有哪些是比较好的?我们可以做更多的选择、更多的技术方案的论证、设计和实现。后面进入 apache 基金会,又做了商业化公司之后,这里面就涉及到了怎么样用一个开源软件去养活它的开发者,让他能够持续地在里面做贡献。

我们现在基于一个开源的数据库产品去做我的一些企业版,我是不需要把我的企业版开源的。apache 协议相比于 gpl 协议更强调对软件开发者的权益的保护。也正是因此,现在很多的企业版软件是基于 apache 的软件去进一步开发的。所以,开源软件它是一种选择,那基于开源软件上的企业版,它又是一种选择。这个企业版,它可能就会给用户提供更多的技术保证。

 

马工:令辉好像对开源协议不是很赞同,要不你来说下?

 

李令辉:我喷的其实是拿 vc 的钱或者拿投资人的钱去做一个商业开源公司。至于清华大学拿钱去做开源,我觉得天经地义,你们花的就是纳税人的钱,开源就是回馈社会,就是把科研成果向社会开放。我觉得这件事情是应该的,学术界就该做这个表率。

我觉得所有的开源项目应该一半以上来自学术界,很多前沿的基础类的项目只有国家那种规模的科研投入才能够做到,因为有一个漫长的实验阶段,而我们做商业的人的时间窗口是非常短的。运营一个公司,不像学生不拿工资开开心心地做科研的状态,我们每个人都是要生活的。对公司来说,没有股东会支持你花十年二十年做这个事情,摆在面前的第一个问题就是如何赚钱。

说回开源,如果这是一个创新的事情,通过这种方式推广到市场,我觉得这是一个正确的手段,因为别人可能还不了解。但一个成熟市场,比如我们的微型数据库,这个市场非常成熟,上市的不上市的几十年的东西。其实开源的很大的卖点是不要钱,可是你看看身边还有300个不要钱的兄弟,你怎么脱颖而出?这个是大家要想的问题。从商业竞争的角度来说,本质上我们追求的是一个不可替代性,所有收钱的前提都是这个不可替代性,不论是人还是公司。如何经营自己的不可替代性,是摆在每个创始人面前要考虑的问题。

 

03 好的数据库,需要一点硬气

马工:令辉提到一个问题很有趣,乙方做很多项目,会做成定制化,所以它的版本基本就崩溃了,已经没有版本可以研了,没有版本可以管理,每个项目都是独特的。嘉林做开源,其实也没办法防止你的产品被别人这样定制。

但实际上从甲方来说,甲方也很讨厌这样。我用一个有版本管理的产品,和用一个定制项目,后者的风险太大了。没有哪个甲方说我想就用这一个版本,全世界只有三个工程师知道它怎么玩的,这个配置只有两个人能看懂,对吧?但为什么国内的数据库市场就形成了这么一个定制化的市场?甲方乙方都不想,最终却做成这个样子。为什么会形成这种畸形的状态呢?

 

李令辉:我长期给中国的很多大甲方打过工。当你没有一个足够强大的标准化产品的时候,用户的需求未被满足的时候,你就不得已让用户来帮你想该怎么做,而用户的想象力是不受约束的。他不会从全局考虑,他只从他的需求考虑。我就特别怕我的甲方跟我说这句话:“我有一个特别简单的需求。你们可以这么做......"一般听到这句话的时候我就想跑路。

他觉得你不懂,他想教你。你确实不懂他们的需求,比如说我们曾经有个用户说:你们的信息自动保存,我受不了,我心里不放心,你给我提供个按键吧,我按键点一下保存。我说,这个按键它没有任何功能,其实它已经保存了。他说那我还是需要。

这种需求你说要不要满足?这个需求说实在的,你满足了,还会有更多的客户会诧异说,你不是自动保存吗?你为什么提供这个按键?这其实是一个博弈的问题:当甲方乙方谁更权威,谁更能代表这个行业的标准答案的时候,谁就硬气。

你看我们同样的甲方,遇到 ibm、微软的时候,他们就没有这么嚣张。所以,当你作为一个弱小的甲方的时候,得到的尊重是不够的。

确实,有的时候也是我们自己不专业,我的客户问过我一个问题:我做了20年这个行业,你做了几年?我说做了两年。他说那你凭什么教我怎么做?你也不能说人家说的有错,但是,术业有专攻啊。所以我觉得,创业,特别是做产品,你不能超出自己对问题理解的能力圈。你去做你不懂的事情的时候,你自然会跟着用户的需求跑。

 

马工:你提到的这个问题,其实不在数据库,其他行业也是这样。盲目地满足客户的需求,就把你的产品做死了。这是我看到的一个很常见的产品管理误区:让用户去当你自己的产品经理。

当然,令辉已经解释了:很多乙方的认知水平并没有比甲方更高,那甲方自然就不会听你的。我觉得我比你强,你就应该听我的,我还给你钱,没让你叫爸爸就算仁慈的了。唯一能够对抗这种强势地位的,就是你的认知比他强,你不仅卖的产品,还卖的是一套理念,卖的是一个方案,你让甲方 follow 这个方案去做,甲方觉得这个方案不错,愿意跟你一起探索,是一个平等的关系才好。但大多数产品经理或公司,他是没有这个能力的,如果说谁有这个能力的话,我觉得一个来源肯定是学术界。

像嘉林,你可以说我是清华来的,我们整个课题组研究了十几年,全世界的论文我们都读了,你说的这个方法我们在10年前就已经否定了。你们能不能做到,代表一种新生的、更高级的玩法引入业界,而不是让这些老狐狸认为我干了20年所以我比你懂?

 

乔嘉林:我导师说得最多的一句话,就是要控制数据库的复杂度,不该数据库做的不用它做。代码的简洁度才是一个数据库长久的生命力来源。如果我们把很多功能都加进去,短期可能收获了一两个用户,但是长期来说,这个代码就不可维护了。

那我们为什么能做到这一点?我觉得可能有前面开源的积累。因为我们经过了大概五年的开源的打磨之后才正式做商业化,我们出去的时候,这个产品基本已经能够满足很多开源用户、包括企业用户的需求了。这个产品它足够标准,用户就不太会给我们提一些稀奇古怪的需求。但是,因为我们做的是工业物联网的数据库,工业这个场景也够复杂,我们想跟工业用户平等交流他的业务场景的需求,确实也是需要多学习的。

 

更多直播内容,扫码看看回放吧↓↓↓


【开源漫谈】

oschina 视频号畅聊栏目【开源漫谈】,每期一个技术话题,三五位专家围坐,各抒己见,畅聊开源。给大家带来最新的行业前沿、最热门的技术话题、最有趣的开源项目、最犀利的思想交锋。如果你手上也有新点子、好项目,想要跟同行交流分享,欢迎联系我们,讲坛随时开放~

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

6月22日 TiDB 地区交流活动(武汉站)开启报名啦!一起聊聊“传统vs分布式|分布式数据库 TiDB 的优势场景和产品发展”

08-04

2024 Postgres Conference 大会丨一文详解拓数派干货演讲精华内容

08-04

备份恢复新体验!pgBackRest与IvorySQL的完美融合

08-04

瀚高研究院 | 7个维度!PostgreSQL生态展望:2024路向何方?

08-04

PostgreSQL 中的 JSON:彻底改变数据库中的数据灵活性

08-04

PostgreSQL16中的新增功能:双向逻辑复制

08-04

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论