未来十年将会是基础软件发展的黄金十年,也将是基础软件逐渐支撑起行业数字化转型的关键十年。与此同时,基础软件的研发周期长、研发难度大、应用广泛,是组织、企业、团队技术力量的重要象征。
但由于国内在数据库行业的发展起步较晚,过半的市场份额长期被 Oracle、微软等美国巨头占据着,尤其在俄乌冲突中 Oracle 向俄罗斯祭出“极致限制”后,国内数据库企业和技术专家们对基础软件国产化的紧迫感和笃定感达到了前所未有的高度。
如今国产数据库已逐步形成了百花齐放的格局,据中国信通院发布的《2021 年数据库发展研究报告》显示,2021 年,国产数据库产品供应商已逾百家。在竞争如此激烈的国产数据库市场中,一款数据库要想存活下去需要具备哪些特征?作为基础软件之一的数据库是否只有开源才能走得更远?带着这些问题,我们采访了偶数科技的 CEO 常雷先生,请他来和我们一起探讨一下关于国产数据库的发展问题。
偶数科技的创始人常雷博士,毕业于北大计算机系,2016 年创立偶数科技,专注于云原生数据库方向。他是 Apache HAWQ 顶级数据库项目的创始人和程序管理委员会主席,前 EMC 研发部总监,HAWQ 产品及研发部门负责人,曾创建 Greenplum 数据库高级研究与开发中国团队。
偶数科技核心产品 OushuDB 是新一代云原生数据库。成立至今,偶数已经获得世界顶级投资机构红杉中国、腾讯、红点中国与金山云的四轮投资。
“有了足够的积累,创业没那么难”
InfoQ:能跟我们聊聊您创业的初衷吗?为什么会选择数据库赛道?
常雷: 我与数据库的初次结缘是在学校里,那时我博士研究的专业是数据库和数据挖掘。2008 年,博士毕业后,我进入了 EMC 做数据库的研发工作。在此期间,EMC 收购了数据库厂商 Greenplum,当时两个创始人想来中国组建研发团队,恰巧那时我在 EMC 做一些数据库前沿技术的研究工作,也就是后面被大家所知道的 HAWQ 的开源项目。我与两位创始人交流了 HAWQ 项目后,得到了他们的认可被邀请在中国组建一个数据库的研发团队,我在 EMC 一待就是八年。由于我对数据库极致热爱,希望能在这个领域有所建树,所以在有了一定积累后,决定自己创业,就这样创立了偶数科技。
InfoQ:创业并不是件容易事,这一路走来,遇到过哪些坎坷?有想过放弃吗?
常雷: 因为有了足够的积累,整个创业过程相对来说还是比较顺利的。我在创业早期就拿到了一些风险投资,随着新产品的迭代和发布,已经积累了各个行业的头部客户,这些客户涉及金融、运营商、能源等等,所以回过头来看算是很幸运了。
InfoQ:创业之前您在 EMC 待了八年,也是一段不短的时光了,那个时候的国产数据库赛道是什么样子?
常雷:2016 年前后,国产数据库赛道还是一片荒芜,没什么著名的玩家,国外产品还是主流。尽管国产数据库已经做了很多年了,但那时候基本上不会被人提起,国产数据库还处于相对非常落后的时期。
InfoQ:您决定创业,除了对数据库技术的极致热爱外,是不是当时也看到了基础软件发展的利好苗头?
常雷:是的,当时 2016 年前后这种苗头已经出现了,中国在技术方面做了很多的沉淀和积累,加上数据的爆炸式增长,数据的产生、使用和分析方式和以前大不相同,需求越来越旺盛,推动着数据库变革和升级,再加之一些地缘政治因素的影响,这一切将数据库重新“燃起来了”。
InfoQ:在您看来,什么样的数据库系统算是合格的数据库系统?
常雷: 无论是新一代的分析型云数据库(OLAP)或者是交易型数据库(OLTP),未来都要满足几大特点,根据偶数客户实践我们总结出 ANCHOR 标准,ANCHOR 中文译为锚点,将成为新一阶段云原生及湖仓一体浪潮下的定海神针。
ANCHOR 具有六大特性,其 6 个字母分别代表:All Data Types(支持多类型数据)、Native on Cloud(云原生)、Consistency(数据一致性)、High Concurrency(超高并发)、One Copy of Data(一份数据)、Real-Time(实时 T+0)。
InfoQ:在数字化转型的大背景下,数据库作为非常重要基础软件,在设计时需要与其他的操作系统、中间件做哪些适配工作?
常雷: 做任何一款数据库,它对硬件、操作系统和中间件这些都要做适配工作。拿偶数自己的数据库 OushuDB 来讲,我们已经适配了包括鲲鹏、飞腾,海光芯片等,操作系统也适配了麒麟、统信等。在和上层应用和中间件做适配工作时,我们只需提供标准接口即可。
软件国产化最大的发展瓶颈是什么?
InfoQ:偶数科技的核心产品是 OushuDB,就是新一代云原生数据库,它的发展经历了哪些迭代?在这个过程中,遇到过什么棘手的技术难题,最终又是怎么解决的?
常雷: 从开发历史来看,OushuDB 最早期的代码是基于这我们之前在 EMC 做的开源项目 HAWQ,而 HAWQ 最早期代码则是基于 Greenplum 这样一个分析型 MPP 数据库。MPP 基本上采用无共享的架构,存储和计算耦合,在同一个节点上,相当于每个节点既存储又计算。后面在架构演进的时候我们就做了 HAWQ,HAWQ 最早的定位是 SQL-on-Hadoop 引擎,存储用的是 HDFS 或其他存储,上面计算层可以独立,这样可以实现一些弹性,HAWQ 已经初步实现了存算分离。后面 OushuDB 基于 HAWQ 做了云原生架构,不同于以前的 SQL-on-Hadoop 引擎,OushuDB 实现了完全的存算分离,也就是存储和计算可以独立在不同物理机器上部署。通过多个小的物理计算集群,多活主节点,实现了超大规模的云原生数据库。计算、存储可以无限扩展,满足了许多用户的扩展需求。当然,在架构演进的过程中遇到很多技术难题,其中超大规模集群就是一个大难题,因为它要求你的计算能力、并发能力要超级强大,这都是很难跨越的技术挑战,最终我们通过几年的技术攻关形成的新一代架构解决了这些技术难点。
InfoQ:新一代的架构还有哪些优势?需要与其他软件进行适配吗?
常雷: 从适配软件角度来看,OushuDB 云原生架构在实际部署中就更简单了,无论从应用开发者角度还是最终用户角度。以前可能要管理十几个数据库,而现在只需要管理一个数据库就够了;以前数据库的处理能力不够,就要来回“倒腾”数据,现在只需要在一个数据库中操作就可以了,数据不再冗余了;而且还可以支持更高的并发,具有更高的性能,还可以做实时数据处理,这样 OushuDB 就解决了很多传统的数据库做不到的事情,与上面的应用开发的适配也要简单很多。
InfoQ:数据库作为非常重要的基础软件,它的国产化并没有那么简单,您觉得目前我们数据库国产化的瓶颈是什么?
常雷: 数据库的国产化在技术方面并不存在太大的问题,现在有些国内数据库产品在技术上不逊于国外数据库,甚至领先于国外产品。但是我觉得国产化比较大的难点在于用户的使用习惯,许多用户之前非常习惯使用一些传统的国外软件,这些软件已经在用户的 IT 系统里稳定运行了很多年,没有迁移的必要,加之还会担忧国产数据库的稳定性、迁移后的运维以及迁移耗费的工作量等等,这些因素都会让用户望而却步。想要改变用户对国产数据库的认知以及使用习惯,尚需花费一段时间。
InfoQ:在您看来,这个观念需要花多久的时间才能转变过来?
常雷: 我觉得至少还需要几年的时间才能转变过来吧,用户对于国产数据库的信心、信任是需要时间培育的。如果市场上国产化软件已经占据了 50% 的市场了,那我相信剩下那 50% 也就很自然地接受了,目前国产化比例还比较低,大家还存有一定的担忧,尤其用在核心业务系统上会更加谨慎。
“开源不是国产软件的必经之路”
InfoQ:业内很多专家认为基础软件想要取得长足发展,就要走开源的路线,您认为我们做国产数据库必须要开源吗?
常雷: 我认为开源很好,但并不意味着开源一定能成功。很多国产的或者国外的数据库产品,他们的成功依赖于开源,但不代表闭源就不能成功。从过去几十年来看,以市场份额作为参考标准,闭源软件占了绝大部分,像 Oracle、微软、亚马逊等全球市场排名靠前的数据库产品,都是闭源的;一些新兴的创业公司产品,比如 Snowflake 也是闭源的,Databricks 的 Spark 云上版本也是闭源的,这两个公司取得了很大的成功。所以,开源和闭源都能成功,产品本身的水平,如稳定性、背后支持它的公司、为用户带来的价值等才是成功的关键。此外,使用开源软件对用户也有一定的使用门槛,所以我认为不能说开源是国产软件的必经之路。
用户需求是推进数据库变革的原动力
InfoQ:作为数据库领域的多年“老兵”,您认为推动数据库进入下一场变革的动力是什么?
常雷: 无论是国内还是国外,数据库每五十年就要经历一次更新迭代,数据库发展至今,这个赛道已经非常大了,而本质上推动数据库变革的因素是用户的需求。最早期,企业刚开始做电子化的时候,数据体量比较小,产生了早期的交易型数据库,后面对数据的分析、处理能力提出了更高要求,逐步出现了分析型数据库,最近数据库又都在云原生化,这些都是用户的需求推动着数据库的变革。另一方面,其他领域的一些技术变革可能会带来数据库的变革,比如硬件的发展也可能会带来数据库的变革。
InfoQ:近年来我们看到分布式、云原生这些技术融入到了数据库领域,未来数据库的发展该如何与时俱进?
常雷: 我认为未来任何一款数据库都一定要是云原生和分布式的,否则它就会被淘汰掉。可以看到,最近几年来,新兴的数据库基本全都是分布式 + 云原生的,新的产品会采用新的架构形式,逐步淘汰老的产品,这是一个必然选择。
InfoQ:我了解到其实很多企业在做超融合数据库,一套数据架构解决了很多问题,您认为超融合架构会是未来数据库的发展方向吗?
常雷: 我觉得超融合已经不是一个新概念了,比如早期的 Oracle 什么都能做,能做交易型、分析型、结构化数据、非结构化数据、图数据等等,其实 Oracle 就是一个超融合数据库。数据库一般会随着用户的需求添加更多的功能支持,站在数据库开发者的角度,大家其实一直都在做这个事情。
评论