102023.02

国产分布式数据库用户调查:谁在用,为什么用?

2023.02.10

几年来,在政策的利好、需求的拉动和资本市场的共同作用之下,我国数据库市场迎来百花齐放的春天。IDC发布报告显示,2022上半年中国关系型数据库软件市场规模为15.5亿美元,同比增长30.4%。根据IDC预计,2021-2026的5年市场年复合增长率为26.8%。

高速增长的数据库市场吸引了众多资本入局,市场上涌现了一批数据库厂商和数据库产品。根据信通院的数据,目前中国有116家数据库厂商(美国145家),数据库产品超过160个(美国超过200个)。在这些国产数据库中自研分布式数据库表现尤为亮眼。自研分布式数据库也被认为有望以此作为突破口,颠覆国外数据库对中国的技术碾压,引领中国数据库产业进入里程碑式的发展新阶段。

那么,到底有哪些企业选用了自研分布式数据库,它们为什么用自研分布式数据库,对于自研分布式数据库是否满意?在过去的一年里,笔者先后调研了近20家使用了自研分布式数据库的企业,其中包括国家电网、易方达基金、红塔银行、携程、翼欧教育等采用私有部署的行业头部客户,同时也有一批采用云服务模式的用户,如阅信云、网联客、阿拉钉等。虽然数量有限,但透过它们,我们依然可以管窥一斑,感受到市场对自研分布式数据库的需求以及自研分布式数据库技术不断进步的脉动。



01 风口中的分布式数据库

数据库是我国信息产业多年的痛。作为核心基础软件,在我国数据库市场一直是Oracle、DB2、SQLServer等国外品牌的天下,自研数据库市场份额多年始终无法超过10%。鉴于数据库的重要基础地位和我国自研数据库的发展现状,近年来国家出台了各种政策以支持国产数据库的发展,特别是在一些重点行业。比如,在《金融标准化“十四五”发展规划》中就提出“2025年基本建成与现代金融体系相适应的标准体系”和“稳步推进金融业信息化核心技术安全可控标准建设”。同时,企业也对国产数据库给予高度重视和支持。

应该说,良好的外界环境为自研数据库的成长提供了非常好的成长空间,而自研数据库也充分利用这个时机打磨产品、快速成长,赢得市场的认可,特别是一个大中型企业和互联网公司的认可。

众所周知,对数据库而言,稳定可靠是第一要务,尤其是重要的业务系统的选型,无不把数据库的稳定和可靠列在首位,在满足稳定、可靠的前提下才会考虑其他需求。这些应用系统在架构设计上也在适配分布式数据库的最新特性,从而更好地支持业务。比如易方达基金的EFA_TA系统就采用了微服务和分布式架构,因而可以很好地与分布式数据库进行适配。

在选择自研分布式数据库的用户中也不乏看中其海量数据处理能力和高扩展能力的,尤其是一些互联网企业。比如,携程原来大量部署MySQL,随着数据的增长不得已对数据库扩容,每次扩容都非常麻烦,慢慢接近了MySQL的上限,最后选择了自研分布式数据库。

除此以外,自研分布式数据库的多租户能力和高可用能力也是一些用户非常看重的。因为自研分布式数据库能支持多租户,可以通过一个平台统一管理所有数据库,这与部署一个个单体的数据库相比,管理起来要方便得多。同时,这种统一还可以带来资源上的节约(不用为每个数据库实例单独预留存储空间),用友在其后台运维管理平台用的自研分布式数据库很重要的原因就是在此。

02 选集中式还是分布式?

分布式数据库具有高可扩展性、支持高并发等优势,同时,相比集中数据库,分布式数据库架构复杂,运维的要求要高得多。何时该选分布式数据库?

很显然,在一些数据量非常大的场景中,分布式数据库具有明显的优势,如互联网应用。携程和高德等互联网公司遇到的就是这种需求。一些数据库容量超过10TB,单表记录过亿条,这些超过了很多集中式数据库的处理极限。要管理如此大量的数据,如果不用分布式数据库,就只能是分库分表。分库分表这个办法费时费力,对业务也有侵入性,相比而言,用分布式数据在架构上要简单得多。应该说,这正是分布式数据库的典型应用场景。

但是,除此之外的大多数场景其实集中式数据库都可以满足需求。既然企业选择分布式数据库数据量并非最主要的原因,那么,为什么不少企业会坚持使用自研分布式数据库?大多数企业的考虑是为今后预留发展空间。虽然今天集中数据库能满足需求,但数据量增长趋势非常非常明显,而分布式数据库被认为应对海量数据的一个好办法,所以最后还是选了分布式数据库。

可能是看到了这种需求,现在市场上出现了单机分布式一体化的分布式数据库。单机版的分布式数据库是一个进可攻、退可守的选项:在数据量不大的时候,可以使用单机版,等到数据量上来后,可以直接增加节点,通过一些简单的配置进行升级,这样用户在选择分布式数据库时就完全没有顾虑了。

另外,用户也可以从分布式数据库的部署中受益,比如分布式的高可用性能降低DBA这方面的运维压力,对于分布式数据库的扩展变成了一个简单的命令,这在以前是很难想象的。分布式数据库有多副本,因此也不用担心数据的丢失,同时,也不需要分库分表。所以,对于数据库实例众多的情形,从简化运维的角度出发,分布式数据库也是不错的选择。

站在这个角度看,分布式数据库对集中式数据库是不是也是一种降维打击?

分布式数据库架构比集中式数据库复杂,而且大多数是新近几年才上市,在文档的完整性以及可观测性上与Oracle等有比较明显的差距,对DBA还不足够友好。有人这样评价自研数据库:“小问题用不上DBA,因为可以死扛;大问题DBA来了也没用,基本搞不定。”虽是笑谈,但也不无道理。

总之,虽然自研分布式数据库的发展有了近十年历史,但真正进入大家视线也是近几年的事情,不管是技术还是生态都还有不足,影响了自研分布式数据库的普及。众所周知,好的软件是用出来的,Oracle刚问世时也是Bug频出,它历经40多年、通过全球不计其数的用户打磨才有今天成熟、稳定的优秀数据库产品。对于中国用户而言,我们不能指望自研数据库一夜之间突然成熟起来,而是要多一些宽容,也多给自研数据库的机会,让自研数据库多一些磨练,早日让中国的数据库在世界上“雄起”。