0
一直以来,在信息技术最核心的三大件“芯片、操作系统、数据库”上,市场格局稳定,由英特尔、微软、甲骨文等科技巨头推动行业和技术发展。
老牌巨头优势巨大,但在中国这个爆发式增长需求的市场,技术亟待更新突破。于是,以阿里为代表的科技公司,开始从零研发,走上这条极其艰辛的自研技术创新之路。这其中,数据库领域尤为艰难,技术挑战大,研发成本和不确定性风险高,面临太多的困难挑战。
专注分布式关系数据库的OceanBase团队,甚至一度濒临解散。
而在2020年5月20日这天,作为支付宝完全自主研发的金融级分布式关系数据库,OceanBase把名字赫然刻在了TPC组织的官网上,而紧随其后的记录还是自己(2019年10月创造过新纪录)。
这一次,OceanBase再破世界记录,性能分数首次突破亿级大关达到7.07亿tpmC,相比去年提升近11倍。(雷锋网注:tpmC值在国内外被广泛用于衡量计算机系统的事务处理能力,为"每分钟内系统处理的新订单个数"的英文缩写)
这标志着OceanBase成为全球最快数据库,实现了数据库这一基础技术的革命性突破,也是自研技术对世界IT技术作出的重要贡献。
OceanBase突破背后,一路艰辛,没有捷径。
一年二刷TPC-C榜单,OceanBase颠覆了什么?
首先认识TPC。TPC 是由数十家会员公司创建的非盈利组织,成立于1988年,总部设在美国,图灵奖得主 Jim Gray 是奠基人。
TPC-C是全球最具公信力的联机交易处理数据库的功能与性能结合的测试标准,金融、电信、政府等关键领域的客户一般参照 TPC-C 结果来衡量各个数据库厂商的事务处理能力。通俗来讲,TPC-C测试是对于商业数据库想要证明自身实力的一个硬性门槛,被誉为“数据库领域的世界杯”。
但是一直以来,TPC-C榜单都是老牌巨头在竞争,尤其是Oracle、微软和IBM为首的数据库厂商和硬件厂商长期霸榜。
因为通过测试,确实太难了。无论是数据库从业者还是高校教师,都梦想着排进这个榜单。
诞生于2010年的OceanBase最初是用在支付宝上,它又被称为“超级会计师”,可以在一秒内同时记数万笔帐,并且不出一点错。经过长时间积累,2019年10月,OceanBase一举打破Oracle“垄断”9年之久的TPC-C评测的世界纪录,tpmC高达6088万之后,自研数据库首次在世界舞台上有了自己的声量。
支付宝OceanBase再次登顶TPC-C榜单
而此次通过最新测试,OceanBase成为唯一超千个节点并通过TPC-C测试的分布式数据库,成绩较去年更胜一筹。更重磅的是,其性能分数首次突破亿级大关达到7.07亿tpmC,相比去年提升近11倍。
从关系数据库的角度看,在这么大体量下,通过测试已经非常困难,保持系统性能更加困难。1500多个数据库节点,5000多万个仓库以及对应数量的客户端,并进行8个多小时的持续压测,对整个系统是极大的考验。
而我们之所以说OceanBase实现了突破和颠覆,关键就在于其采用了新一代分布式设计技术,颠覆了传统数据库集中式处理技术架构。
如何理解?
一般而言,传统数据库只能通过提升单机性能来提升整体性能,难以满足市场持续扩张的数据处理需求。OceanBase通过分布式扩展集群实现扩展能力的大幅提升,并通过分布式选举技术、事务技术充分保证业务场景的一致性,实现整体性能的数量级提升。
在本次测试时,数据库机器规模扩大到1557台且单机仓库数增长到3.6万,总数据规模达到了近6PB,最大单表扫描数据总行数超过20万亿行(TPC-H最大的测试是100TB)。
除了性能优势,在兼容性上,OceanBase较传统数据库也有创新,其可高度兼容Oracle和Mysql,支持一键快速迁移,并提供云上的完整生态服务,解决了授权费用贵、硬件成本高、架构与运维复杂、迁移难度大等传统数据库难题。
用10年,OceanBase做到别人做不到的事
蚂蚁金服高级研究员、OceanBase 创始人阳振坤始终认为:
“直到今天,生产系统中没有一个商业数据库有分布式,除了OceanBase,这是我们做到了别人做不到的事。”
纵观当今全球数据库应用情况,关系数据库依然是主流,而集中式系统依然大行其道,甲骨文、IBM、微软源源不断从中获得收入。
此前,分布式数据库长期存在于理论中并没有在生产中实现,虽然成本可以降低,但缺点亦十分突出:普通PC机单个来看都达不到金融级别的稳定性,如果其中一台机器罢工,容易产生多米诺骨牌效应般的坍塌效应(这个短板被视为世界级难题)。
而OceanBase解决分布式数据库稳定性的方式之一,是将每一份数据同时备份三份,存放在三台不同的机器上。其原理是,一台PC机出故障的概率如果是千分之一,两台同时坏的概率可能就是百万分之一,三台同时坏的概率则是十亿分之一。
早年,在阿里的众多业务中,无论是淘宝还是支付宝,集中式的关系数据库都扮演着十分关键的角色,不可能摆脱它。但是,市面上的商业数据库在高扩展、高并发和低成本上远远无法满足淘宝和支付宝的高成长速度,且遇到业务激增时IOE投资要放大几百倍甚至几千倍。
“谁都买不起了”。阿里势必需要考虑切换轨道——在2009年启动“去IOE”。“去IOE”工程的战略价值何在?一般被认为有三点:架构灵活支撑业务飞速发展;基础工程技术和人才的积累;大幅降低成本。
在数据库领域,尽管彼时市面上非关系数据库竞相涌入,开源数据库局限性比较大,两者对巨头的关系数据库的冲击可以用蚍蜉撼树来形容——阿里决定走自研关系数据库的道路。
尽管“自研”策略备受争议,遇到各种反对,但一旦江河解冻,就会势如劈竹,无法阻挡。OceanBase冲在了最前面,做起了先锋。2010年5月,阿里邀请阳振坤加盟淘宝,由此拉开了 OceanBase的自主研发之路。
2010 年:创始人阳振坤加入阿里巴巴,OceanBase 正式立项;
2014 年:OceanBase 0.5 版本发布,替代 Oracle 在支付宝交易系统上线,负担“双十一”10% 流量;
2015 年:网商银行成立,OceanBase 成为全球首个应用于金融核心业务系统的分布式关系数据库;
2016 年:OceanBase 1.0 版本在支付宝账务系统上线,支撑 12 万笔 / 秒支付峰值;
2017 年:支付宝首次把所有核心数据链路搬到 OceanBase 上。同年,OceanBase在多家商业银行上线;
2019 年:OceanBase 获得 TPC-C 基准测试排名榜首;
2020 年:OceanBase以7.07亿tpmC的成绩打破去年TPC-C基准测试纪录。
据了解,OceanBase早年第一个客户是淘宝收藏夹。
当时的淘宝收藏夹业务高速发展,数据库访问量飞快增长,服务器数量需要翻一倍甚至几倍才能应对业务需求。阳振坤主动提出可以用OceanBase,把服务器的数量降低一个数量级。
很多年前OceanBase团队的一张合影
在淘宝收藏夹吃完OceanBase这只螃蟹后,确实取得了不错的效果,也由此,OceanBase在内部获得了更多信任。但由于找不到更多愿意使用的业务,阳振坤和他的伙伴们经历了一段低谷期,用高德总裁刘振飞(2009年组建淘宝技术保障部)的话来说,回想起来当时都是折磨、痛苦和眼泪,今天说起来可以算是传奇和笑话了。
OceanBase团队在2012年走到了最困难的时候,数度濒临解散。
2012 年底,集团把 OceanBase 整个团队调到了支付宝。支付宝属于金融领域,面临的数据库挑战会比其他业务更大,这相当于给了 OceanBase 团队一次从头开始的机会。
2013年夏天,支付宝开始“去IOE”,希望能够把Oracle数据库换掉。阳振坤主动向当时的蚂蚁金服CTO程立推荐了OceanBase,并得到了认可。此后OceanBase在阿里内部得到更多场景试炼,并逐步做到核心系统。
从“小我”到融入“海洋”
从濒临解散到浴火重生,OceanBase 走了快十年,它用了漫长的旅途进入了“无主之地”(自研分布式关系数据库),没有前人走过;它解决了自研信息技术三大软肋(芯片、操作系统、数据库)之一的数据库难题,完全自主研发、安全可控。
它已经向所有人证明了通用的分布式关系数据库是能够做成的,而且能真正应用在生产系统中。
当我们从头来看阳振坤跟OceanBase团队定下的策略,不得不感叹想法的“超前”:走标准化!做一个通用的关系数据库产品!他们不仅仅要在公司内部使用它,还要实现外部商用——这带来的挑战就是投入更多人力和时间,以满足市面上所有功能需求。
这就像“OceanBase”这个名字的寓意一样:从一开始就立志做一个像海洋一样的海量数据库,征途就是星辰大海。
大音希声大象无形,走向通用走向标准化,这件酷酷的事,支付宝做到了,而且把整个TPC-C测试变成了一种普惠的测试,为今后更广泛应用打下基础。
当然,OceanBase早已经走出淘宝和支付宝的处女地,更多企业愿意拥抱它。
目前OceanBase已服务大量金融、电信等行业企业,如建设银行、南京银行、西安银行、人保健康险、苏州银行、广东农信、网商银行等多家商业银行和保险机构。全球前四名的支付平台,两家的核心系统都在使用OceanBase数据库。
回首过往,之所以OceanBase能做成,能从当年的淘宝收藏夹走到支付宝,走进今天金融场景甚至更多领域,不仅是阿里,也是时代给了它一个好的发展机会。可以说,其高光有着行业和时代的必然性。
今天,阿里巴巴/支付宝内部有数以万计的数据库,总有一些业务由于数据量和自身业务需求等因素,可以先试用自研技术,再一步步地将数据库做到关键系统。就是遵循这样的逻辑,加之敢冒风险的勇气,OceanBase乃至阿里的云计算业务都能在阿里自然而然“长出来”,造就一段经典商业案例。
踩在过去的肩膀上,迎接未来的数据爆发,OceanBase会摘到更丰盛的果实。让中国数据库技术服务全球,是OceanBase的初心,相信OceanBase未来会在更大海洋中发挥价值,与人类共享科技成果。(雷锋网雷锋网)
雷峰网原创文章,未经授权禁止转载。详情见转载须知。