以前“双十一”是一个拼流量的时代,如今开始走向拼体验的时代。
大家可能发现,双十一“喜报式实时成交额”不见了,各大电商平台均没有公布实时成交数据。尽管如此天猫今年双十一成交额仍然有5403亿。
从拉长的选购时间,我们也可以看出,今年商家比拼的不再是流量而是对于提升消费者的体验、满意度、幸福感的服务。
最有看头的不仅是商家双十一当天不用“拼了”、消费者也不再疯狂更加理性,还有oceanbase数据库也不用再“拼了”。
杨传辉表示:“以前的双11全体员工都上,研发也得值班,现在都能坐着喝茶了。”
2021年双十一前夕,雷锋网与oceanbase ceo杨冰、cto杨传辉对oceanbase的发展历程、能力优势、未来核心战略目标,以及数据库行业的整体发展趋势进行了深入交流。
同时我们也能看到为什么oceanbase能从“全员备战”到“无人值守”的境界。
一、最好的关系就是相互成就
从0到1,oceanbase用了近四年。
“一直到2015年之前都是我们特别难的一个阶段”,杨传辉不禁感慨。
2010年oceanbase立项,第一个项目是淘宝“收藏夹”。但做这件事情并不简单。
oceanbase cto杨传辉表示,“当时,一个用户收藏夹收藏的条目数特别多,按照以往传统,用户最多可以收藏4000条信息,每一条信息都要实时获取最新的动态,如商品的下线、价格、热度变化等。传统数据库需要将两者的信息做两张表进行关联,但是数据量特别大的话就很难实现,即便是mysql也解决不了。”
可以说,在最开始几年的版本迭代中,oceanbase就是为解决特定的问题而来,解决其他数据库解决不了的问题。
oceanbase数据库需要金融系统试用半年才能知道是否丢数据,而金融的业务提出“你不证明你不丢数据,我怎么敢给你用”,这就相当于“怎么证明你妈是你妈”。
2014年的双十一,oceanbase获得了一个难得的“机会”。此时,支付宝已经一年有几十亿的用户交易,在此之前,支付宝只敢将1%的交易流量交给oceanbase承载。但奈何oracle只能满足支付宝流量的90%。怎么办?这要求oceanbase必须接下10%,蚂蚁集团当时的cto鲁肃也都很支持这件事。事实证明,oceanbase经受住了考验。
“当时研发负责人都激动的都跳了起来”,杨传辉满怀自豪地说,“以前人家以为你是吹牛,觉得你的团队不行,此后都高看一眼,觉得你什么都行”。
征途:2015至2017
2015年:oceanbase 0.5版本在支付宝的交易库和支付库上线,同年oceanbase上线网商银行,成为全球首个应用在金融核心业务系统的分布式关系数据库。oceanbase在当年双11处理100%交易数据链和50%支付数据链。
2016年:oceanbase 1.0版本在支付宝账务系统上线,支撑当年双11的12万笔/秒的支付峰值。
2017年:oceanbase发布1.4版本,增加转储功能、层次查询功能。在当年双11里,包括整个账务库在内的全部核心系统都100%运行在oceanbase上,创造了4200万次/秒数据库处理峰值的纪录。
值得一提的是,到了2017年oceanbase已经将支付宝最核心的交易、支付等场景,以及生态内支付工具如花呗、余额宝、充值等进行了替换。
3.0时代:将性能做到极致
2018年:oceanbase 2.0版本发布,支持mysql/oracle双兼容模式,是第一款支持存储过程的原生分布式数据库;在oltp场景性能较1.4版本提升50%以上,存储成本下降30%。
2019年:oceanbase2.2版本发布,在tpc-c测试中跑赢oracle一举夺冠,并在双11里达到6100万笔/秒数据处理峰值。
到目前为止,oceanbase涵盖了蚂蚁集团核心业务板块,已支撑起集团100%的核心链路,每天都有数十亿条不同的sql运行在蚂蚁集团的oceanbase集群中,承载的数据量达到数百pb,服务器核数过百万。
杨冰指出关键的一点,“好的数据库是踩坑踩出来的”。
二、oceanbase“十八般武艺”
细数oceanbase从2010年立项至今的几个重要发展历程,与阿里淘宝、天猫、支付宝等业务场景每逢双十一迎来洪流般数据冲击的几个节点相映衬。这既是对oceanbase数据库性能的大阅兵,也是快速实现数据库技术创新的最佳引擎。
支付领域有一个说法:“账务是支付系统皇冠上的明珠”。
如果一个系统能够应用到账务系统,那么意味着你的系统可以应用到所有系统。
账务系统需要两步操作,一个是操作记录,谁给谁转账了要记录下来,另一个是记录账目的实际数值,转账了多少,一方要加上另一方要减掉。看似简单,海量数据高效完成对于数据库的能力要求可谓极难。
双十一对数据库的挑战也从最初存算容量的挑战,逐渐演变为对性能、稳定性,以及效率智能化等方面的挑战。总结起来,oceanbase目前已具备以下几大核心能力:
* 数据一致性:也叫数据的正确性,oceanbase最核心的竞争力是稳定可靠,那么保证稳定可靠的前提就是一个完全正确的系统,这是非常难的。oceanbase从最早期就已经应用到“双十一 ”这种核心场景,因此不仅做数据库相关的事,还做了很多数据库相关的非功能的事情,这是其他数据库所不具备的,oceanbase会在数据库运行的过程中,对数据进行校验,一旦系统发生问题,可以很快发现。
* 持续稳定运行:oceanbase能够持续运行8个小时,系统性能不抖动。tpc-c是全球最具公信力的联机交易处理数据库的功能与性能结合的测试标准,tpc-c要求八个小时持续稳定运行不抖动,oceanbase做到了,连续稳定运行8小时,抖动小于0.5。另外oceanbase以7.07亿(707,351,007)tpmc的在线事务处理性能打破了世界纪录,其中一张表格就有20万亿的数据量,oceanbase要保证所有数据库是一致的,所有的机器都在跑,保证转账的正确性,“不能出现一边转账了另一边没有收到的情况”,持续稳定的运行优势可以在“双十一”这种极端场景下,让用户流畅地购物。
* 无损容灾:据介绍,当机器、城市、机房发生故障时,oceanbase可以保障不丢一条数据。因为用到了paxos协议,可以做到无所容灾,并提出三地五中心,进而四地八中心、八地九中心都不是问题。尤其在金融系统是不能丢失任何一条数据的,只有在其他行业的商业数据库得到充分认证,才会在金融应用。
* 无限扩容、弹性扩展:“双11”当天的容量会是平常的几十倍,而分布式数据库可以无限扩容,当天团队会快速部署服务器,把数据和服务快速传到云上,大促结束后再把数据和服务从云上搬下来,oceanbase每天可以快速弹上、弹下,弹性扩缩容过程中涉及了接近50万次变更操作。杨传辉表示:“支付宝百万副本级的能力,意味着每秒钟能支持100万笔最高峰值的支付,而100万笔支付对于数据库来说是接近亿级qps(查询率)”。oceanbase能支持这么大的查询率关键点是通过两级弹性,一级是分库分表,二级是利用oceanbase的分区表格能力做自动扩容。先做一级分库分表分成100份,再通过oceanbase的分区表格能力再拆100份,总共拆出一万份,使得每一份都能在一台机器上做到自动弹性。
* 高性能低成本:oceanbase每年都会设立一个项目,根据“双十一”的需求专门提升性能和优化成本,2021年的读写场景性能相比上一年提升了61%,同时,存储成本大幅降低,只有mysql的三分之一左右。
“双十一”为oceanbase沉淀了诸多了关键性能,可以让其应用到更多的场景,给oceanbase打下了坚实的基础。
如今oceanbase已经更新到最新的3.2版本,但是对于“双十一”来说,即使不是最新版本,也已经能支撑起整个“双十一”的流量。
三、敢于做传统行业核心数据库替换
越来越多的国产数据库,在近一两年开始密集得到政企客户的青睐。
这是个积极现象。面对国际舞台中强大如oracle一样的竞争对手,它在为过去四十年国产数据库的努力试图正名。
2020年6月8日,蚂蚁集团自研数据库oceanbase宣布独立进行公司化运作。独立后的一年多时间里,oceanbase在技术攻关与业务推进方面,均取得了飞速发展:二刷tpc-c在基准测试中打破自己保持的世界纪录,在中国工商银行、南京银行、人保健康险、西安银行等机构核心业务系统上线oceanbase……
但这仅仅也只是开始的一小步。对于oceanbase而言,金融级业务场景是验证数据库性能的珠峰,势必要从金融标杆做起,但它的目标是面向更开放、更广阔的通用型数据库拓展。
当前,传统行业核心数据库系统替换是国产替代大背景下时代的需要,也是政企客户新业务形态的迫切诉求。
传统行业对于核心系统的升级需求极为迫切,亟需一个稳定安全、性价比高,同时又兼具高兼容、高扩展、高可用、易管理、部署灵活等特点的数据库。
据oceanbase ceo杨冰介绍,企业面临的困境主要有以下几点:
* 技术改不了:核心业务系统投建早,大多与数据库能力深度绑定,迁移改造工作量大,风险高,时间长。
* 服务挺不住:移动互联网时代用户消费下习惯发生变化,银行核心业务系统从满足5*8的消费诉求,变成要满足7*24的消费诉求,对高可用的提出挑战,同时不同体量的机构,基础设施情况和改造思路不同,需要针对性的提出方案。
* 管理环节多:业务系统种类不断增加,50%的用户认为随着数据库实例数量的不断增加,运维管理变的更加困难。
* 业务跑不动:互联网核心系统初期投建规模小,但发展快,一旦爆发式增长,没有足够时间去重构应用和设计架构,因此底层数据库容量和算力很难跟上业务发展速度,系统出现跑不动的情况,对高并发的场景提出要求。
其实可以看出,以上问题已经让企业头疼已久,如何降低核心系统改造的风险,同时降低改造的成本,变成大多数企业会遇到的问题。解决以上问题方法无非就是迁移到其他数据库或者做扩容,不仅风险极高付出的成本也极大。一旦全部迁移,所有的软件都要大换血,对于技术上的要求是颠覆性的,同时也是不可取的。
这件事情的难度极大,挑战也大,前期投入高、风险高,oceanbase凭什么能做这件事情?
按杨冰的话说:“oceanbase只是站在传统数据库的肩膀上,进行老市场的颠覆和存量市场的替换,同时创造出新的赛道和空间”。
oceanbase投入了大量的成本和精力兼容mysql、oracle传统数据库。由于历史原因,oracle作为世界上最流行的数据库被广泛使用,随着国产自主化的口号揭竿而起,很多企事业单位开始使用开源的mysql,因此也就出现了现在的局面。
oceanbase目前已经帮助某头部保险企业,在核心系统上平滑的过渡到了oceanbase上面。一位用户语感叹:中国不缺各种各样的数据库公司,商业的也好开源的也罢,缺的是自主掌控、自主研发的数据库,能够真正替换掉mysql、oracle。
四、数据库时代的“新物种”
1、“一体化架构”是oceanbase的最佳选择
对于oceanbase而言,做通用数据库才是星辰大海。为此,团队将从几个技术路径看待这件事情:一是“一体化架构”。
天下大势,合久必分,分久必合。
很长一段时间 oltp(事务处理/在线交易)和olap(在线分析)各自占山为王,很多企业这两类任务处理由不同团队完成,管理维护成本高。但是随着越来越多企业上云,大量数据涌入,单机数据库的处理能力远远无法满足对于数据实时更新和查询的需求。能够满足两种能力的需求越来越旺盛,因此htap数据库应运而生。
在“双十一”大流量的涌入下,做完交易的数据要流到离线数据仓里,分析可能要等很长时间才能做结果,最快也得好几个小时,商家也没办法快速响应。用htap架构可以很好的解决olap和oltp两类业务场景,商家可以更好在双11当天实时进行活动的调整促销策略。
由此oceanbase提出“一体化架构”,开启企业级数据库全新模式,集合原生分布式框架和经典集中式数据库(htap)的两种技术优势,从而让数据库处理更加复杂的场景。将“复杂留给数据库,简单留给用户”。
“虽然‘一体化架构’底层架构还是原生分布式,但是可以同时兼顾集中式和分布式两种系统,即可以保留集中式数据库单机性能强的优势又能同时兼具分布式数据库的拓展性、扩容性、性价比、高可用等特点,因此可以兼容oracle和mysql。这对很多用户来说简直就是福音,因为这意味着用了多年的数据库逐渐面临着容量、价格等一系列问题,如果能从oracle或者mysql平滑的迁移到oceanbase,这一定是一个更好的选择。”
htap技术架构帮助oceanbase应用到更多场景,而oceanbase也将不只在边缘场景更多转战核心场景的应用,从而为数据库打开更广的生态。
2、坚持生态与开源
杨传辉告诉雷锋网:“数据库越到后面拼的越是生态,因此今年6月oceanbase决定开源”,将300万行代码免费开源了,只有社区共建,一起完善工具,拥抱用户,才能建立数据库生态。”
只有更多的人一起合作,才能到更丰富的场景试炼。好的数据库一定是经过不同场景打磨出来的。
目前企业版oceanbase3.2htap能力大幅增强,tp性能提升30%,ap性能提升6倍。并支持托管,发布kvredo接口,兼容mysql5.7协议,开放运维管理openapi......
oceanbase要做的不仅要持续优化核心场景能力,同时还要持续优化htap性能继续开源共建开源社区;不仅要服务好支付宝的支付交易系统,还要逐渐赋能到更多的场景,覆盖金融场景乃至全行业,为数据库打开更广的生态。
未来oceanbase整个部署架构也将从私有云走向混合云乃至多云部署,从金融场景慢慢走向更广阔的通用场景,从国内走向国外,oceanbase 越来越成为通用的、中立的、多云的数据库,变得更加开放。
3、原生分布式数据库一定是未来
oceanbase ceo杨冰表示:“原生分布式数据库一定会引领未来数据库的潮流,而且早在10年前我们就已经预判到该趋势,并且现在我们也已经一步步的验证了这一预测的正确性。”
10年前的原生分布式数据库在国内可以说没有先例,当时把分布式揉进数据库中,就是一个具有开创性意义的尝试和创新。
随着数字化转型进入深水区,企业上云的脚步进一步加快,未来企业在云上的数据量将会呈现激增的态势。idc预测,全球数据量正迎来爆发,将从2018年的33zb增长到2025年的175zb。推动这一增长的重要因素之一是云计算具备弹性扩容、按需使用、按量付费等优点,云数据中心正成为企业新的数据存储库。未来数据量的激增,将给传统数据库带来极大的挑战,而原生分布式数据库优点可以很好的解决这些难题。
另外还有应用技术架构变化,催生扩容的需求。应用逐渐演变成从单机到集群从而慢慢走向微服务化到集群化的模式,这时扩容的压力就会传达到了存储层数据库层,分布式的架构有很好的扩容性,因而能够很好的解决这一问题,这也就有了oceanbase的三地五中心,全局可扩容,轻松应对双十一。
同时硬件架构也从大型、垂直化的架构变成了小型并行化的架构,从硬件方面也开始往分布式延伸。
以往人们认为原生分布式数据库只能应用到边缘场景,而只有在核心场景取得突破才是真正的成功,原生分布式架构一定是未来数据库发展的方向。
而oceanbase经过“双十一”经过金融行业等核心场景的应用,这代表原生分布式架构一定既可以应用到边缘场景也能应用到核心场景。
因此oceanbase坚定不移的走向原生分布式数据库。
结语
“应用是数据库的第一推动力”,经过“双十一”支付场景八年的历练以及支付宝金融场景的淬炼,oceanbase亟需到更多的核心场景试炼同时也要向通用数据库迈进。自开源以来,携程、美团、bilibili、快手等企业进行深度实践,oceanbase也在不断优化,升级新版本,目前已经从开源的3.0版本升级到3.1.1版本。
彼时,oceanbase创始人阳振坤在2014年双十一的那句:“如果等会出了问题,我们就从这跳下去!”回想在耳边。
如今时过境迁,oceanbase已经不需要那么“拼了”。
杨传辉告诉雷锋网:“未来最好的状态就是不用一人值班”。
可以预见oceanbase未来要拼的方向是智能化,数据库运维的自动化智能化,用ai对问题进行自动化的分析决策。
未来犹未可知,我们且走且看。