为何在一体化HTAP数据库如此困难的情况下,他们仍然选择继续?

发表时间: 2022-08-01 08:04

国产数据库赛道终于要“卷”起来了。

特别是在全球经济增长预期持续下调,科技创新引擎更难挖掘的当下。但这并不影响数据库赛道的创业者投入热情。

据中国信通院《数据库发展研究报告(2021年)》给出的数据,2020年全球数据库市场规模为671亿美元,其中中国数据库市场规模为35亿美元,占全球5.2%。招商证券梳理的一份研究则指出,金融、电信、政务、制造、互联网作为数据库产品及服务采购份额top5的行业,其合计市场份额(按信通院统计口径)高达80%以上,2020年整体采购额超过192亿元。

中国已经成为全球举足轻重的数据库大市场。而在这样的市场中,有从2000年伊始的“四朵金花”的达梦、人大金仓、南大通用、神舟通用,到2014年至今逐渐成熟起来的,基于云时代潮流下的创新企业,如阿里云PolarDB、华为GaussDB、PingCAP等。根据其面向的应用场景,又可分为:基于开源MySQL技术路线或MySQL兼容的关系型数据库,互联网细分应用场景的图数据库、时序数据库、文本搜索等等。

上述信通院研究报告还指出,我国金融行业各类数据库应用占比为:Oracle 55%、DB2 19%、MySQL 13%、PostgreSQL 6%,其他7%。

早期以阿里为代表的互联网公司,曾掀起“去IOE”的潮流,其中“去O”就是以MySQL替代Oracle。或基于MySQL二次改造,或更多兼容MySQL的技术路线,以及相应的数据库社区,在中国实际已成熟多年。

不过在关系型数据库领域,Oracle、SQL server、IBM DB2等商用数据库持续占据主导地位,国产数据库想要异军突起可没有想象中那么容易。

2021年,国有大行之一的邮储银行公布了一则采购成交公告,标的为1.45亿元,投标人和中标人都只有Oracle。其实不止邮储银行,包括银行、保险等金融业、国央企等,直到如今仍会每年支付高额费用在Oracle产品,以支撑其核心业务的平稳运转。

据石原子科技创始人叶建林(花名:自修)所述,“MySQL是一款主要面向OLTP(On-Line Transaction Processing,在线交易处理)场景设计的开源数据库,其开源社区的研发方向侧重于加强其事务处理的能力,如提升单核性能、多核扩展性、增强集群能力等。而在处理大数据量下、复杂查询所需要的能力方面,如优化器处理子查询的能力、高性能算子HashJoin、SQL并行执行等,社区一直放在比较低的优先级上,因此MySQL的数据分析能力提升进展缓慢。”

石原子科技创始人叶建林

这也是石原子StoneDB数据库产品想要有所突破的地方,力图打造全面兼容MySQL的一体化HTAP(real-time operational analytics)数据库。

石原子创业之初,已吸纳不少数据库架构师,行业资深专家及连续创业者。“和成熟的大公司比我们还很小,但是和其他创业公司相比,我们有非常强的快速执行能力,以及一颗心、一张图、一场仗的能力。”目前,石原子是中国信通院分布式系统稳定性实验室成员单位,中国信通院公布的第十四批“可信数据库”成员单位,2022年浙江省唯一一家入围工信部信创的数据库厂商。

为中小市场服务的源动力

早期客户案例的积累对企业产品研发有重要影响。一开始锁定某个场景切入,将大大降低企业试错成本,但或许也是国产数据库面临高手如林的商业和社区生态竞争中的无奈之举。

在此之前,石原子团队曾做过一番深入调研,通过走访国内数百家企业,他们发现一个很有意思的现象:目前所有的数据库产品都是为大企业客户服务。但这并不意味着中小企业就不存在对数据库的需求。相反,后者这类企业有如下特征:团队高管拥有一定技术背景、(业务)平台同时在线人数大于200人、有数据驱动业务的意识,同时企业多数也选择MySQL作为数据库底座。

在叶建林看来,这也是最具有发展潜力的科技型创业公司。可以说用上MySQL的中小企业用户就是StoneDB的潜在用户。

“大部分互联网企业,在数据库服务年支出在10万元以下的客户,一般都是选择用MySQL作为首选数据库。只有行业顶部的企业,数据库费用年支出千万级别的,会做出更多选择。传统企业的非核心数据在上云的同时,也会使用MySQL、redis和MongoDB。”

但随着数据量增加,业务多态化下,OLAP结合的场景越来越多,MySQL的短板问题越来越凸出。为了解决类似问题,通常会采用MySQL的binlog同步机制或ETL方式抽取到对应的分析平台,再使用Spark、Impala等计算引擎做计算,提供AP的业务支持。但是这样的解决方案具有同步延时高、架构复杂、运维难度大、成本高的缺点。HTAP数据库应运而生,成为了学术界和工业界关注的热点。

梳理StoneDB目前公开的几家客户案例,有诸多原因促使其最终选择切换到StoneDB的数据库架构上,但存在以下共性:一是规模较小,二是有基于业务数据的分析需求,又承担不了数仓之重。

叶建林称,“StoneDB的出现,也是在于目前市场上没有比较能满足这部分客户需求的产品和解决方案。”

不过,对AP能力要求比较高的金融场景,短时间内应该还不是StoneDB主要考虑的方向。

在代码层解决问题,最小代价获取MySQL原生AP能力

就一体化HTAP数据库的技术实现难度本身,叶建林明确指出:“如何让OLTP和OLAP在系统运行的过程中相互干扰最小,是HTAP系统设计的难题。

结合Gartner对HTAP的定义本质来看,HTAP实际上是通过内存计算来实现,它可以使分析业务与事务业务共享同一份数据,通过消除数据在数据库和数据仓库之间的数据迁移,可以对实时事务数据进行实时分析和态势感知,而不只是对数据进行事后分析。

目前传统的解决方案是,在原有的OLTP系统基础上引入独立OLAP数据库,再通过一些同步工具将OLTP数据同步到OLAP数据库,在OLAP数据库内完成业务数据分析。该方案有其优势,但目前存在的问题也较多,如:1)系统复杂,稳定性很难保证;2)数据同步链路长,工具支持不完全,经常出现数据同步链路中断,影响下游业务;3)对于高并发/大事务,消息队列往往会积压很多消息,数据延迟不可控;4)以及引入OLAP数据库后,开发语言与原业务不一致带来的运营成本和学习成本等。总而言之,通过同步工具+消息队列+独立AP数据库的方案,在稳定性、实时性以及管理成本上存在诸多问题。

“客户更期待一个生态兼容性更好、架构更简单、数据延迟更低,和更简单易用的HTAP数据库解决方案。”叶建林指出。

为此,StoneDB的策略是,采用一体化架构部署的方式,即所有代码都构建在MySQL原生代码基础之上,而不是使用第三方OLAP系统来包装。

对于客户而言,无需进行任何业务改造,无需做语法调整,也无需做数据迁移,即可在原先MySQL数据库的基础之上,无缝叠加列存加持的分析能力。性能相比于传统MySQL行存,最高可达100倍加速,接近业内主流专业OLAP系统的能力。同时,还可以为客户降低TCO,传统方式下,解决OLTP和OLAP需求需要通过两套系统,存在OLAP采购成本、计算和存储以及同步链路成本、消息队列成本。

至于如何实现HTAP一体化架构,避免传统MySQL、ClickHouse、Elastic Search等多个系统搭积木方式带来的数据同步延迟等问题,可以试举案例来回答一二。

以石原子服务的一家SaaS CRM厂商为例,其运营系统会实时获取订单数据,为其客户提供实时运营管理能力。为此会采用多租户应用架构,按照库来分租户,单表数量可达亿级别。

在此之前,该企业曾尝试过OLTP+OLAP两套独立系统的方案,OLTP使用MySQL,OLAP使用ClickHouse,通过ClickHouse原生物化表的方式,将MySQL数据同步到ClickHouse,并在ClickHouse里完成分析业务。

但该方案正如上述所提及的,在实际使用过程中,包括在稳定性、性能瓶颈、运维成本等方面均存在诸多问题。

StoneDB的出现,使得该企业原有MySQL+Elastic Search+ClickHouse的系统架构“变得没有必要”。

“这个架构最大的问题在于过于复杂,你需要搭建一个集群来完成数据分析能力的提升,搭建与维护的成本较高。”叶建林指出。

从产品到最终交付还有多远

作为年轻的创业厂商,从运营开源生态到开源商业化,发展闭源产品,再到成功实施交付,仍是一条比较漫长的路径,需要时间积累。这个前提之一,就是如何精准把握从开发者到企业客户的需求。

在开源层面,不久前StoneDB也宣布将核心代码及相关生态工具完全开源,遵循GPL-2.0开源协议。基础软件走开源路线有其优势,也有助于推动软件创新,但目前国内开源商业化也面临极大挑战。

StoneDB的策略是,先开放内核,然后为StoneDB增加AP小集群的能力。下一步打造基于云基础架构的HTAP服务,利用云基础架构的共享存储+云原生,搭建整个HTAP的应用层,真正让MySQL具备大规模数据分析和处理能力的HTAP。

在这个过程中,StoneDB还会构建数据库生态,建立开发者社区,引入上下游合作厂商,以满足市场需求。

而在商业化层面,石原子希望以PLG模式打造商业模式:通过好产品满足客户需求,使数据服务SaaS化,然后让客户完成“自服务”,同时团队还会根据产品的数据反馈,进行数据分析以驱动增长。

在叶建林看来,业内少有团队思考塑造PLG模式,团队也希望能够构建出产品驱动的增长飞轮。

据了解,在StoneDB之前,石原子还研发出了企业级云原生数据仓库AtomData,从数仓到数据库的背后,其实有着叶建林对企业定位和发展的深度思考。

“我们的目标是全场景数据服务提供商,数仓与数据库分布覆盖不同的应用场景。”

在场景适用性上,差异显而易见。StoneDB基于其TP能力拓展AP,不适合做多源数据汇总分析,其优势是时效性高,而AtomData适合做多源、异构、海量数据的汇总分析,不适合高时效性要求的场景。

“两个产品如同物联网中的云和边的关系,有云计算的需求,当然也会有边缘计算的需求。所带来的价值当然也是云和边的全链条覆盖。”

这导致二者在面向客户层次上,既有交集,也有各自独立区间,同时能够在早期为企业构建不同价值,“前者更多是生态价值和品牌价值,而后者则带来商业价值。”

访谈中,叶建林毫不掩饰对技术、产品、商业、开源生态的态度和策略,他还希望能够做好面向国际市场的出海准备,基于国内市场特征如大量数据、复杂场景带来的优势,进行产品锤炼,以形成出海壁垒。

业界一直认为,如果没有大的客户、场景打磨,国产数据库可能都无法达到替换Oracle的高度。除了信创等政策要求背景下,企业客户仍要花大的决心和力气来做数据库迁移这件事情,面前的挑战可能会有无数个。

但更大的问题是,数据库赛道越来越卷了,在新赛道、新兴细分市场中,创新公司既要及早把握短暂的技术红利期,又要陪伴价值型客户一道成长,还要维持住自身的市场生命力。叶建林还说,数据库是一个“长坡厚雪”的赛道。那么,在激烈竞争中脱颖而出的,必承其重。

(本文首发钛媒体APP 作者 | 杨丽,编辑 | 盖虹达)