您的位置:  首页 > 技术杂谈 > 正文

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

2024-03-29 20:00 https://my.oschina.net/u/6852546/blog/11049760 颖欣 次阅读 条评论

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

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

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

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

分享嘉宾:

李令辉

云原生数据库 ClapDB 创始人,前乘法云 CTO,美洽 CTO,滴滴出行首席架构师。

目前致力于基于云上的基础设施新范式,提供新时代的分析型数据服务。

ClapDB 是一款重头开始基于云原生架构设计和实现的数据库, 充分利用现代云原生技术优势。采用 C++ 开发, 期望给予更高的性能, 让您可以在任意规模的数据下轻松快速得到分析的结果。

 

乔嘉林

天谋科技联合创始人& CTO、Apache IoTDB PMC 及初创成员、清华大学博士、中国通信学会开源技术专委会委员、学术秘书。

从头参与建设物联网时序数据管理领域的首个 Apache 顶级项目 IoTDB,及第二个顶级项目 TsFile。

获 Apache Member(Apache 基金会委员)、中国开源先锋人物、清华大学水木学者、开放原子基金会银牌讲师,并作为 10 位基础软件的领军人物之一,荣获 2023 优秀软件工程师。相关成果获北京市科技进步奖一等奖。

Apache IoTDB 是一款低成本、高可用的物联网原生时序数据库,采用端边云协同的轻量化结构,支持一体化的物联网时序数据收集、存储、管理与分析。

 

主持人:

马工

北欧 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
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接