韩鸿源,蚂蚁金服资深总监,目前主要负责蚂蚁金服分布式数据库产品 OceanBase 的商业推广和生态建设。
OceanBase 在 2019 年 DTCC 中国数据库技术年度评选中获得“年度最佳创新产品”奖,韩鸿源接受了 IT168 总编老鱼的采访。
从产品自身,到行业需求,再到数据库的未来,一起与读者深度探讨 8 个业内最关注的热议话题。希望对你有所启发。
韩鸿源:目前的数据库市场,尤其是国内市场,正处于百花齐放的状态。每天都有非常多的数据库创业公司和全新的数据库产品冒出来。对于客户的选择来说,有非常大的复杂性。
在这样的环境下,有 IT168 这样具备行业技术基础和公信力的媒体机构来做针对整个数据库行业的评选,其实可以简化客户在选择方面的复杂性,是一件很有意义的事情。
在数据库这件事情上,蚂蚁金服其实持续做了很长时间的投入。蚂蚁金服的副 CTO 胡喜在很多场合讲过这样一句话,蚂蚁金服的科技能力是我们信仰的一种体现,也就是说,技术上的理想主义,加上家国情怀,鼓舞着我们持续地在技术领域不断地创新。
韩鸿源:实际上对企业级的应用场景来讲,很多客户常谈到的一个话题是性价比,金融行业亦如此。只不过性能不单纯是指跑得快慢的性能,会有一个综合的性能评定。比如说运行的效率肯定是一个很关键的指标,另外包括稳定性、可靠性、方便性,包括对应用开发的友好性,这些指标其实都是性能的体现。
但是在性价比这件事上来讲,其实很长时间以来大家都存在这样的误区。比如说举一个很简单的例子,如果你把价格降成零,所有的东西都是无穷大的,这时候你怎么去比这个性价比呢?
所以其实在比较性价比的时候,大家往往是由于这个表达的简单性,忽略了一个很重要的因素。当你要比较性价比的时候,实际上前提条件是说性能要满足到一个基准之后才有比较性价比的意义。在这种情况下来讲,不同的行业其实有非常大的差异。
金融行业在性能方面的要求其实是非常综合的,同时也要求非常高,所以在这种情况下来讲,很多时候怎么样去设定一个好的门槛值之后再去比较,可能是一个更有意义的事情。往后的发展来讲,我觉得在这方面可能逐渐也会被客户更多的理解和更多地重视起来。
韩鸿源:OceanBase 的第一个核心关键词肯定是金融,OceanBase 是一个在金融的运行环境里成长起来的数据库。OceanBase 经过了非常强的金融业务核心压力的考验,这是第一点。
第二点从某种程度来讲,OceanBase 承载了蚂蚁金服非常多的业务系统的核心业务,这是另外一个区别于其他数据库厂商的一个非常大的特点。
第三点实际上是说 OceanBase 做了非常多的技术创新,所以 OceanBase 采用了跟传统数据库不完全一样的机制,突破了非常多的瓶颈和局限性,才达到今天的一个非常好的效果。
其他更多的关键词本质上可以理解成这三点核心内容扩展出来的一些表现形式。其实综合来讲,我觉得这几点是我们区别于其他数据库产品的一个非常突出的特色。
韩鸿源:对于 OceanBase 而言,大家更多关注的是它的技术特性,比如简单的指标性的东西,大家更容易理解。但是从我个人的角度来讲,OceanBase 有三个非常重要的核心优势。
第一点是说,OceanBase 经过了蚂蚁金服综合的应用场景的考验,这个场景里面包括了每年“双十一”大促,日常周期性的优惠活动和市场活动,OceanBase 通过这些场景不断打磨所需要的技术支撑能力,经过了非常广泛、高压力的验证。
第二点是说,蚂蚁金服所有的核心系统,包括支付宝和其它的核心系统,完全运行在我们自主研发的 OceanBase 之上,这对用户而言是一个非常大的承诺。
我们把自己所有的这些身家性命的东西全部都跟这个数据库绑定在一起,所以我们会保证这个数据库能够运行得好,能够真正支持我们的业务,能够确保这个数据库是真正稳定可靠的,并且经过了充分的检验。
不光是性能,还包括各方面的功能和稳定性,甚至包括很多极限场景下才会带来的极端需求,我们把它都补充到产品中。经历了这样的千锤百炼,OceanBase已经被打磨得越来越成熟完善。
第三点是在今天技术不断发展的场景下,每天都有新的技术不断冒出来,如何能够让新开发的软件充分的利用所有的技术优势,达到一个更好的效果。
OceanBase在这方面已经做了很多,包括性能方面,高可用方面,可靠性方面,甚至很多突破性的技术的这些率先使用,我们都会持续的发挥出技术的最大优势来。
韩鸿源:数据库其实今天大家去看的时候,往往把 OceanBase 定义为新一代的分布式数据库。分布式数据库里其实有一些非常难解的问题,比如说分布式情况下的数据一致性的问题。这些问题其实在之前的版本里面,包括很多其他友商的实现里面,都没有得到充分的支持。
OceanBase 2.0 版本我们充分加强了分布式架构的能力。比如说提供全局一致性的视图,这个在分布式的场景下很难实现。包括我们对于交易场景的充分的优化和支持,实际上确保了当一个分布式数据库被用作一个集中式数据库的这种使用方式的时候,客户开发的难度是非常低的,客户迁移的成本也是很低的。所以从这个角度来讲,OceanBase2.0 之后是取得了一个非常大的突破。
另外一个方向,我们在逐渐增强对 Oracle 的兼容性。提高兼容性的目的不是为了把 Oracle 的应用直接拿到 OceanBase 上来运行,而是说,很多的用户在 Oracle 上已经拥有巨大的技术能力,以及对应用软件开发的海量投资。OceanBase 持续做兼容的源动力,就是未来让这些客户已经具备的能力,和已经开发好的应用可以得到最好的重用和投资保护,这也是一个很重要的方向点。
韩鸿源:OceanBase 起源自 2010 年。最早的时候,它并不是一个全功能的 SQL 数据库。起源的时候其实还是一个分布式的存储系统,主要的目标是支持淘宝里收藏夹的应用。
今天大家都知道,收藏夹是一个海量数据量、非常高访问请求的一个应用。随着淘宝用户量和淘宝商品量的不断增长,这个系统仍然运行在 OceanBase 上。而且经历了这么多年的沉淀,其实已经为淘宝收藏夹提供了非常完善的一个支撑能力,这实际上是一个很重要的节点。
当核心的分布式的数据存储能力和数据访问能力得到了基本的保障之后,OceanBase 产品其实也在一步步增强和优化。
支持收藏夹业务的时候,OceanBase 还是在阿里集团,后续随着业务的发展,我们在蚂蚁金服看到了更多的发展机会,所以后来集团决定把 OceanBase 的产品转到蚂蚁金服持续的发展。
从 OceanBase 0.5 版本开始,我们开始尝试在核心交易系统里让 OceanBase 发挥作用。在 2014 年,OceanBase 在“双十一“的业务中承担了 10% 的流量。经过了这些初步的验证,我们后续逐步地优化和加强了这部分的技术能力。
到 2015 年、2016 年的时候,支付宝上的所有核心交易的核心链路,已经 100% 完全承载在 OceanBase 上了。这之后 OceanBase 已经成长为一个非常全面,有强支撑能力,而且通过了极限考验的一个数据库产品。
作为一个互联网银行,网商银行的业务形态有着非常突出的特色。当网商银行正式开业的时候,它的所有的核心业务系统已经 100% 承载在 OceanBase 之上。这也再一次证明了 OceanBase 在实际业务场景下的支撑能力。
在这之后,从 2016 年、2017 年开始,OceanBase 开始对外商用,也有越来越多的企业级客户愿意选择相信 OceanBase,包括南京银行、苏州银行、人保财险等等。在这些客户选择 OceanBase 后,其实在它们的互联网的系统里 OceanBase 已经发挥了非常重要的作用。
今天大家看到的一个发展趋势是银行移动端的访问频率不断提高,后端受到的压力越来越大,对后端系统也提出了更高的要求。
在未来,分布式的架构改造能力和产品支撑能力是非常关键的竞争力。在这些方面,OceanBase 已经在很多客户中得到了比较充分的验证。现在,我们正在逐步把这样的技术能力开放给用户,帮助更多用户构建能够适应未来挑战的分布式技术体系。
韩鸿源:OceanBase 数据库经历了过去九年多的发展时间,已经有了非常强的技术能力,包括已经支撑了蚂蚁金服所有的核心业务和非常多的复杂的业务系统。
但是从产品本身来讲,还有非常多需要增强的地方,我们在持续的增强产品的能力,同时我们会加大在市场方面的推广力度。
这方面来讲,我们会跟阿里集团形成一个更强的合力,去对市场进行产品的综合推广。所以后续大家会看到,我们会在包括产品的市场推广、社区构建和赋能方面加大力度。
韩鸿源:数据库这种竞争的场面其实不是第一次出现了,在历史发展过程中也出现过。今天主要说两点。
第一点是说,到今天为止,数据库在企业级应用系统里起到的支撑作用还不是可以轻松被替换掉的状态。比如提到数据库时可能更多强调的是关系数据库,从关系数据库的支撑能力角度来讲,它提供的ACID交易处理的简单性和SQL写业务逻辑的这种直观性和方便理解性来讲,今天可能还没有办法简单地取代。当企业级的应用需要更复杂地业务逻辑的时候,你会需要底层有一个经过抽象的平台,能够给你这些应用提供充分的支持。
所以我的看法是,关系数据库在相当长的时间内还是会向着主流数据库的方向发展。
另外一点,今天大家看到云是一个很重要的发展趋势。但是云跟数据库之间其实并不是一个同等层次的语义。实际上,数据库是一种技术能力,云是一种使用方式。使用方式和技术能力之间是一种匹配的关系,不应该是一种竞争的关系。
所以我并不认为,所谓的云数据库本质上跟传统数据库在技术能力方面有什么样的差异,或者说云的出现会导致传统数据库就完全不能用了。
今天很多传统数据库也在做上云提供服务的尝试,很多其实也有一定的效果。但是再往后发展来看,我觉得数据库还是数据库能力的体现。数据库的使用方式可以是云,可以是非云,可以是各种各样更丰富的方式。
我觉得未来一个比较大的挑战是,在应用走向云原生之后,数据库如何更好地以一种云上部署的方式支撑云原生的应用,持续的往前演进和发展,这可能是未来一个很重要的需要探索的方向。
但是数据库作为一个独立的技术能力存在,在相当长的时间内,它还是会发挥自己独特的作用和支撑价值的。