国产数据库未来将如何发展?
时间:2023-03-13 06:22:01 | 来源:电子商务
时间:2023-03-13 06:22:01 来源:电子商务
当下,国产数据库的发展之路从探索逐渐到百花齐放,在愈演愈烈的形势下,国产数据库替代之路再次置于风口,究竟国产化之路发展如何?
《对话 ACE》首期活动便以当下数据库局势为背景,邀请到 OceanBase CTO 杨传辉,Oracle MySQL ACE Director、万里数据库开源生态负责人叶金荣,共同探索
“国产数据库替代与发展之路”,以此推动国产数据库技术、人才及生态建设的发展。(* 戳下方视频看完整精彩回放~ )
国产数据库未来将如何发展?https://www.zhihu.com/video/1501970411939790849直播干货满满没时间看视频没关系!小编对直播的内容也进行了汇总分享,欢迎大家阅读、收藏!
Q:在海外,分布式数据库是否有应用场景?主攻方向是怎样的?A:杨传辉:大家认为分布式数据库到底是一个高铁,还是一个电动车?假设经典的数据库是一个燃油车,那么我听到两种观点。一种观点,分布式数据库主要应用在一些规模比较大的客户,由于中国人数较多,那我就需要高铁。那如果人口比较少,比如说很多欧洲国家,是不是就不需要分布式数据库?另外一个观点,认为分布式是一个电动车。对于 OceanBase 来说,我们是认同第二种观点的。
今天的分布式数据库,它跟集中式数据库,其实有点像电动车跟燃油车的关系。十几年前 OceanBase 就开始自研打造分布式数据库。早期其实是搭建了一套分布式架构,可以比喻成先把电动车的引擎做好了,但是它的外壳装饰都还是有待完善的。后来,OceanBase 慢慢过渡到 1.x、2.x、3.x 等版本,逐步具备了类似整车的功能,已经能够应用在像工行、建行等数据体量特别大的一些企业。再之后,OceanBase 研发的分布式数据库技术越来越像是特斯拉研制的 Model 3,性价比很高,同时可以应用在经典数据库适合的中小企业,例如一些单机场景。
OceanBase 的设计理念是一体化的原生分布式数据库,希望一方面能有分布式的可扩展,高可用的能力;另一方面,具备对标集中式数据库的单机功能和性能。在小规模场景下,单机性能和集中式数据库基本相当。即便是中小企业,同样也希望能够快速发展,未来甚至成为大企业。只要企业有快速发展的诉求,他就可以选择 OceanBase 这样的原生分布式数据库。
原理很简单,分布式数据库可以解决企业未来几年的快速发展的需求。而且在单机模式下,新技术能做到比 MySQL Oracle 更低成本的,性价比更高。这样实现了一个真正的便利,好比实现高铁的技术,但成本比汽车还要低。
Q:分布式架构如何实现在单机上使用,且性价比很高?A:杨传辉:今天主流的一些分布式数据库,以前是NoSQL,慢慢到NewSQL,这些产品的功能和性能往往离集中式数据库有很大的差距。例如,很多 NoSQL/NewSQL 系统的单机性能不到 MySQL 的二分之一甚至三分之一。这就使得很多人把分布式与集中式对立起来。然而,OceanBase 坚持一体化的技术理念,追求单机性能和功能兼容性。OceanBase 从 3.X 版本开始,单机跑Sysbench TPCC 这样的 workload,性能和 MySQL 5.7 版本是基本相当的。而且用了在线压缩以后,存储成本大幅低于 MySQL。
OceanBase 今天应用在蚂蚁集团的所有业务场景中,最终的存储成本只有 MySQL Oracle 的三分之一左右。同时,我们也希望将这些技术应用到中小企业中去。OceanBase 本身就是一个自研的分布式数据库,只有坚持将单机性能功能做到最好,它才能变成是一个电动车,才会有越来越多的用户去使用,像以前的 MySQL.Oracle 一样,实现让百万级用户去使用,最终变成所有人都能够简单使用的通用数据库。
所以从这个角度来看,一是说不用把分布式跟集中式完全对立起来看待。另外,中国有一个优势在于人多,像双十一这样的活动,能够把高并发、可扩展等一些底层的技术打磨成熟。在这些能力上,尤其在海量数据处理的能力上,中国还是比较领先的。海外也会有和国内类似的业务场景,这类场景同样会选择中国最优秀的分布式数据库。本质上还是产品和技术做的如何,通用的技术没有国界。
Q:OceanBase 的海外业务目前进展如何?A:杨传辉:海外目前处于一个摸索的阶段。OceanBase 由于十几年的技术积累,稳定支撑双十一,再加上背靠集团,所以在海外有一些优势。例如,东南亚很多国家都有类似支付宝的钱包应用,这些钱包背后的核心系统背后都采用了 OceanBase。包括印度版的支付宝 Paytm,底层的交易、支付、账务等业务都是 OceanBase 在支撑的。除了东南亚之外,我们也通过云平台,逐渐覆盖其它国家的一些客户。
Q:作为一个数据库研发从业者,如何看 Oracle 暂停俄罗斯业务?A:杨传辉:这个事件,从数据库的角度来讲,他一定会更快的加速我们国家自研数据库的一个发展,OceanBase 在 2021 年的 6 月 1 号,把大概300万行的核心代码完全开源。截至目前,我们开源社区的活跃程度已达到国际顶级开源项目的三年左右的水平。当然,未来还有很大的提升空间。
从技术趋势的角度来看,这件事情没有那么悲观,为什么?以前的时候大家都觉得 Oracle 很完美, OceanBase在设计之初,很多方向也借鉴了 Oracle 的做法。然而,任何一个产品都有它的生命周期。如果不加速变革,是没有办法适应大环境的变化,也无法支持好客户需求。在海外,除了 Oracle,还有很多数据库的选择,比如 MongoDB,Elastic Search,Snowflake 等等。
现在数据库已经到了云原生、分布式转型的一个时间窗口,所以从技术趋势角度来看,OceanBase 坚持做下一代云原生分布式的方向。它是能够代表未来的。越来越多的用户慢慢会升级到在云上的原生分布式数据库。所以说,大趋势上没有那么悲观。
另外,我们在一些关键行业,例如运营商、保险、人社等行业,已经实现了由 Oracle 到分布式数据库的成功替换。通过 OceanBase 的 Oracle 兼容模式和配套的平滑迁移工具,能够做到不改业务代码将 Oracle 迁移到一体化架构的 OceanBase上。
国产数据库已经迎来很好的时机,这个事件对数据库从业者和技术爱好者来讲,一定要把数据库基础打牢。十几年前 OceanBase 在做数据库的时候,会有一种孤独的感觉。但现在越来越多的人涌入到这个行业,资本市场也越来越关注基础软件的发展,这个行业未来一定会很好。所以要坚持,保持初心。
Q:国内大部分数据库厂商的产品都是基于开源产品做的二次改造,你怎么看?A:杨传辉:无论基于开源二次改造还是完全自研,最终的目标都是解决用户需求。我觉得本质上是一个技术选择,基于开源的好处在于前期会比较快一点,但是后面会越来越难。因为越到后面,会遇到越多深入的需求,需要大范围修改内核,基于开源比较难做到彻底掌控内核。
OceanBase 走的是完全自研的技术路线,打个比方,OceanBase 有点像在练九阳神功。会有两个好处。第一个是如果练成了,肯定是一个武林高手。第二个好处在于学会了九阳神功,再去学其他的武功都会比较快。通过自研能够彻底掌控内核,当面对客户新需求或新变化的时候,都能非常快地去满足客户的需求。而且客户所有的核心业务场景 OceanBase 都可以承接住,这个是做自研最大的好处。
二次开发的话,取决于开发的深度。如果只是简单开发的话,只具备开源产品已有的能力,但获取额外能力是很难的。很多时候需要业务做改造来适应开源产品。这是两类的差别。
Q:如果想成为新一代流行的数据库,当前国内的数据库技术还应做哪些改进?未来国产数据库要成为国内企业数字化建设的首选需要具备哪些指标和特性?A:杨传辉:首先数据库最终还是用出来的,应用是数据库研发的第一推动力。通过应用的需求到数据库能力提升,再反馈给应用,这样的一个循环,才能成就一款成熟的数据库产品。
面对企业级用户,首先数据库产品能否进入到核心系统内,如果不能实现,那后面被替代的可能性就会很大。基于这样的假设,我们总结过企业级数据库大概会有哪些关键的需求:高可用、可扩展、强兼容、易管理。同样数据库产品自身的功能、性能、稳定性也很重要。
还有一个点就是是否有关键业务场景的实战经验,这个也很重要。OceanBase 最大的优势在于经过了蚂蚁集团多年双十一核心业务场景的打磨,锻炼了 OceanBase 的并发性能、稳定性、延迟等核心技术能力。今天再研发一个新的 OLTP 数据库是比较难的,因为首先需要有类似蚂蚁这样的业务愿意交给你支撑它的核心系统。
Q:未来国产数据库厂商之间应该如何竞争与协作,才能促进行业更好更快的发展?A:杨传辉:今天从技术路线角度来讲,我会比较坚持原生分布式的技术路线。
首先,以前走集中式技术路线,比如 Oracle,db2。花了很多年,通过线下客户不断打磨出来,到今天已经很成熟。但对于分布式技术路线,国产数据库现在有一个换道超车的机会。
第二,需要更加聚焦。今天数据库创新非常多,有一些是做基础功能性能的优化。比如说复杂查询等等,还有一些新技术,比如说软硬结合,安全隐私,面向 AI 的自治数据库,多模数据库等等。我们应该将最主要的精力聚焦在基础功能和性能的提升上,解决用户的真实需求。数据库最难的,并不是如何用新技术,或者如何做技术创新,而是基本功。
OceanBase 性能也是一样的,目前能做到跟这个 Oracle、MySQL 相当。但是很多场景尤其是复杂查询,还需要很多时间去优化。所以需要更加聚焦,把更多的精力放到如何把引擎做到最好。
第三,国产数据库需要更多的去兼容标准。比如说 OceanBase 兼容 MySQL,兼容 Oracle,通过标准化降低数据库的迁移成本。
OceanBase 也一直在跟行业协会在做适配中心和实验室。国产数据库必须加入到一些组织,让技术更加标准化。然后牵动产学研,推动整个数据库产业的发展。
Q:国产数据库在替代商业数据库过程中,主要会遇到哪些问题? A:叶金荣:首先是让更多用户能认知和使用国产数据库,能让更多场景应用到。不管是分布式,还是集中式都可以,得先把第一批的种子用户拿下,想尽一切办法去拿下。一个新的基础软件,不管是开源还是非开源的,第一批种子用户都非常重要,要把他们服务好。有了第一批用户积攒的口碑和案例,大家才能有基础信任。
第二个就是业内同行的认可,需要持续保持一个良好的品牌形象,同行的口碑传播也是非常重要的。
当遇到一些问题或场景的时候,要能够快速响应,这样才能让用户认为这个产品(或者说做这个产品的团队)是靠谱的。遇到问题时,还能借助社区的力量帮忙解决,相关的配套生态等方面都是充足的,那就可以放心地去使用,去尝试。
替换是大势所趋,要尽早布局。如果不做的话,将来迟早有一天是要出事的。另外一定要找国内自主可控稳定的数据库产品。
Q:过去国产数据库替代的进程中还有很多人会有所担心和顾虑?未来如何更好地解决?A:叶金荣:这个担心肯定是存在的,也是必不可少的。我们要做的就是如何帮助他们去想办法,如何真正无缝升级。我们可以跟着客户一起,把他们面临的问题,一起解决,让他们知道我们是站在同一条战线的,能一起做事情。
另外还有一些需要考虑的问题。首先是稳定性,接下来是兼容性,比如要升级整个数据库。那兼容性方面做得如何?有没有足够的测试案例?如果说测试不够完善的话,还有一些其他的方式能帮助去提前找出来可能潜在的一些风险。
如果说有一些足够的配套方式方法,或者说配套的生态工具等,能帮助他们。比如把线上所有的业务场景花一定的时间全部跑一遍。再新的数据库再去跑一遍,也能展示出来这个新数据库是靠谱的。不管功能、性能还是稳定性等方面。只要解决了这个问题,相信后面再去替换,可能只是时间的问题。
Q:如何看待 Oracle 暂停俄罗斯业务这件事情?这会对国内数据库行业乃至全球带来什么样的影响与启发?A:叶金荣:凡事都有两面性,或许这个事情短期内会有一些影响,但长期来看,可以借这个机会更好地发展基础软件。不管是操作系统,硬件还是数据库,都是一个非常好的契机,所以需要大家更好的支持国产的数据库。
线上答疑解惑环节Q:MySQL 也归属 Oracle,在未来,基于 MySQL 协议的国产数据库产品是否存在法律上的风险?A:叶金荣:虽然 MySQL归属 Oracle,但它也是在 GPL协议框架内的,只要我们做的事情也是在 GPL 协议这个框架内,我觉得这块就没有法律的风险,或者说这个风险就很低了。
因为本身只要是遵循 GPL 协议,你的基础代码是开源的。那我相信只要在这个框架内,做什么事情,都是合规的,法律上的风险大家是不用担心的。
Q:OceanBase 未来在 HTAP 发展上如何开展工作?A:杨传辉:我对 HTAP 的定义,认为它是包含两个方面。第一个方面是TP能力的增强。很多的产品,它的 TP 能力往往可能只有一些简单的查询,但是一个商业数据库产品除了简单功能,还会有很多复杂的查询,复杂的 SQL,它也能跑得很好。优化器、并行执行这些能力都是很强的。这是一个 TP 能力的增强。另外一个方面是偏实时的 AP 能力。因为随着TP数据库具备分布式架构处理大数据量的能力,那以后会逐步往 AP 领域渗透,尤其是实时 AP 领域。绝大部分实时分析的场景,既有实时分析的需求,同时也有一部分实时事务处理的需求。
OceanBase 一直坚持在做 HTAP 的路线上,核心还是一个原生的分布式架构,能够支持大的数据量。既能做 TP 也能做 AP,那么以后的空间会越来越大。
Q:国产的是否有轻量级数据库,能够跟 MySQL 一样?目前接触下来的都是分布式重型的。实际场景用不到?A:杨传辉:OceanBase 其实是一个一体化的分布式数据库产品。虽然也没有完全做到跟 MySQL 一样轻量,但是会逐步的去趋近它。今天 OceanBase 最新的一些产品,其实在单机的性能上,比如 32G 甚至 16G 左右内存的一个场景。跟 MySQL 的性能是差不多的。比 MySQL 5.6 还要好一些,跟 5.7 差不多。我们也在逐步轻量化,在之后 8G 的内存环境,甚至有可能 4G 的内存环境下,做到和 MySQL 差不多。这样才是一个理想的、同时具备分布式扩展性与集中式的轻量化的一体化产品。
Q数据库内核开发的学习路径是什么?A:杨传辉:我们在招内核研发的时候。主要看技术的基础和对技术的热情。绝大部分公司和高校,都很难有一个实践的环境去培养能写内核代码并有经验的人。所以我们更多时候看重的是潜力。
潜力的话,一个是说计算机的基础知识,比如说数据结构,算法,操作系统,数据库原理,这些专业课程是否都能够掌握得很好。另一个是是否特别有热情做这个事情。包括我和叶老师,都坚持十几年做这个领域,十几年,如果没有一定的热情,到后面有很多让你放弃的时候,很难坚持的下来。所以,热情很多时候甚至比能力更重要。
当然了,现在有些速成的方法,参与到开源项目里面,尤其是国内的一些开源项目,你可以近距离地和这个项目的作者直接去交流,把学到的理论知识变成能力,这也是一个非常好的办法。
Q:除了金融、电信、政企外,还有哪些目前没有在未来可能成为潜在大客户的行业?A:杨传辉:比如说互联网行业,包括 OceanBase 就是在互联网场景里面诞生的。双十一的抢购,高铁抢票的场景,对数据库的要求都很高。还有包括制造业,比如说芯片,台积电,中芯国际等这样的企业,很多地方都要用到数据库。可以把数据库理解为工业母机,每个行业的重要客户都是强依赖于数据库的处理能力。不会仅限于金融、电信、政企。
叶金荣:我们的生产生活中无处不在都存储着数据,每个都是数据库可发挥的场景。比如物流机器人,电力,水力等。数据库作为一个基础软件已经渗透到国计民生当中。
《对话 ACE》第一期通过两位老师对热点趋势、核心技术等的讨论与探索,能够帮助更多的企业技术从业人员,提升企业国内从业人员对国产数据库的了解,降低国产软件发展的门槛,加速国产软件前进的进程。
未来 OceanBase 将持续开展不同主题的《对话 ACE》活动,敬请关注!