当前位置: 首页 >> 技术文章 >> 打破世界纪录的数据库OceanBase之深度解析
打破世界纪录的数据库OceanBase之深度解析
发布时间:2019-12-09 发布人:云报涛哥 237

本文来自于公众号:云报
本文作者:涛哥


本期为我们带来分享的嘉宾是 OceanBase总架构师,蚂蚁金服研究员 杨传辉(日照)先生,本次嘉年华上,杨老师为我们带来题为:OceanBase 金融级分布式关系数据库 主题分享。下面,让我们跟随涛哥的采访走进杨传辉老师的世界里吧。


在2018年8月举行的亚运会女子50米仰泳比赛中,中国队的刘湘以26秒98的成绩打破世界女子50米仰泳尘封9年的世界纪录,在赛场上刮起了中国旋风。


一年之后的2019年10月2日,在另一个特殊的赛场上,中国人又破了一项尘封9年的世界纪录——全球数据库领域最权威的国际事务处理性能委员会(TPC)在其官网上宣布,阿里巴巴/蚂蚁金服的分布式关系数据库OceanBase打破数据库基准性能测试(TPC-C)的世界纪录,其tpmC值超过6000万,是前世界纪录保持者Oracle数据库的两倍。


新的纪录还在不断刷新之中。今年的天猫“双11”总成交额达2684亿元,订单峰值54.4万笔/秒,支付宝数据库处理峰值达到6100万次/秒,再次刷新世界纪录。这次的特别之处在于,这是在阿里巴巴核心系统100%上云的情况完成的创纪录之举。


俗话说,外行看热闹,内行看门道。当你为天猫“双11”总成交额又创世界纪录疯狂打Call之时,可否注意到这背后,除了阿里云平台稳定、线性的输出以外,还有OceanBase的优异表现?


又是一年 “ 双11 ” OceanBase“三大创举”



在2019数据技术嘉年华上,OceanBase总架构师、蚂蚁金服研究员杨传辉(日照)向笔者透露,今年天猫“双11”期间,OceanBase数据库确有“三大创举”:第一,今年OceanBase数据库首次从MySQL模式切换为更适合企业级应用的Oracle模式;第二,OceanBase数据库单机性能优化提升50%;第三,OceanBase数据库完全部署在容器中,更易实现弹性伸缩。


从2010年6月立项至今,OceanBase数据库度过了9年多的峥嵘岁月。从2011年开始,OceanBase数据库就开始支持“双11”,并服务于淘宝收藏夹,时隔一年又转战支付宝。从2014年到2017年,每年OceanBase数据库承担的支付宝流量逐步递增,到2017年,支付宝交易、支付、账务等全部核心业务100%的流量都加在了OceanBase数据库身上。


1575857581288070811.jpg

2019数据技术嘉年华 杨传辉(日照)发表演讲


2017年对于OceanBase数据库来说是一个重要的转折点,在这一年,OceanBase数据库第一次“走出”阿里巴巴和蚂蚁金服,应用于南京银行互联网核心系统。按照通用型商业数据库的发展思路打造分布式数据库,OceanBase身上的担子更重了。分布式数据库能够在功能和性能上与传统集中式数据库分庭抗礼吗?分布式数据库能够胜任企业核心业务,尤其是金融机构的核心业务吗?


OceanBase数据库用TPC-C测试结果给出了明确的答案。


PK传统数据库 站在同一水平线上



众所周知,TPC-C测试号称数据库领域的世界杯,是全球公认的数据库在线交易处理性能评价的通用指标。TPC-C有一套严格的评测体系和标准,它采用图灵奖得主Jim Gray主导提出的DebitCredit模型,由TPC组织制定TPC系列标准,并监督审核测试过程和结果。测试模拟订单创建与支付,规定五种事务发生比例,所有参测的数据库必须经过先功能后性能的测试,要求系统必须保证长时间稳定运行(8小时平稳运行,至少2小时性能波动小于2%)。据杨传辉介绍,TPC-C拥有严格的审计流程,经过前期规划、测试准备、现场预审计、最终审计,最后还有60天公示期。OceanBase是第一个通过TPC-C审计的分布式无共享关系数据库,审计时间超过半年,全球共3个审计员,2个审计员联合审计通过。


特别值得一提的是,此次TPC-C测试是在阿里云标准云资源的支持下实现的,改变了以前高性能测试结果都依赖专用集中式存储设备和专用高端服务器的实现方式,以完全分布式的软件架构创造了新的世界纪录。


1575857640396012460.jpg


杨传辉介绍说,TPC-C测试对于分布式数据库来说是一道难关。因为交易处理即事务的ACID(原子性、一致性、隔离性和持久性)是标准的根本要求,而一直以来这都是通过传统的集中式系统实现的,分布式数据库要以分布式、多机的架构满足事务ACID,这是一个巨大的挑战。而OceanBase在测试中打破性能纪录充分说明,分布式数据库在功能和性能上具备了与业内顶尖的传统单机数据库PK的能力,双方站在同一个水平线上。


走开放道路 OceanBase经过市场充分验证



在2018年的云栖大会上,OceanBase 2.0正式发布,同时宣布了内置的Oracle兼容功能。2019年10月,OceanBase发布Oracle兼容版本2.2,并且在TPC-C测试中打破世界纪录。OceanBase的演进道路、在功能和性能上的突出表现,以及在国内多家金融机构中的成功应用说明,分布式数据库是可以满足银行等金融机构的核心业务需求的。但我们也要清醒地认识到,金融机构看重的不仅仅是功能和性能等技术指标,更关注的是业务的稳定、可靠,尽量避免安全风险。从这个角度看,分布式数据库还要经过长时间的磨练和验证,要针对具体的业务场景进行适配、开发和优化等。需要重申的是,“双11”、TPC-C测试等已经证明,从技术指标上看,分布式数据库是可用的,也是经过市场充分验证的。


目前,在金融机构的核心业务数据库中,还是DB2、Oracle数据库占据主导地位。虽然分布式数据库成长迅速,代表着一种颠覆的力量,但从客观上讲,一段时间内传统集中式数据库与分布式数据库会继续并存。但是,分布式数据库是一条新赛道。20年前从事数据库开发的中国厂商举步维艰,因为当时没有大规模、可以应用的业务场景,正因为没有人用,所以数据库产品的开发和演进陷入了恶性循环。现在情况有了非常大的改观,在中国既有像“双11”这样世界级规模的应用,又有大规模的企业云化转型需求,中国的数据库厂商有了技术自研、拓展规模化业务的天生优势。不仅仅是那些传统的软件厂商涉足数据库领域,越来越多的云服务厂商也在打造自己的数据库。“OceanBase就是随着阿里巴巴/蚂蚁金服的业务发展起来的。阿里在云计算、平台等方面的技术积累,以及支付宝、蚂蚁金服等新的业务场景的开拓,让阿里巴巴/蚂蚁金服有能力自研新型的分布式数据库。”杨传辉表示。


1575857665669039838.jpg


对于OceanBase是否会开源,杨传辉的回答非常肯定:“OceanBase的策略不是开源,而是开放。OceanBase最早的开源版本还停留在0.4,现在通过TPC-C测试的版本与之前的开源版本已经是天壤之别。就像Oracle数据库并不开源,但是通过形式多样的开放的交流、沟通、培训等,大量的DBA对Oracle数据库的熟悉、理解和掌握程度甚至超过MySQL。OceanBase所说的开放,与Oracle类似,目的是让更多的DBA能够更深入地理解和掌握OceanBase。实际上,企业用户需要的并不是源代码,而是能够解决其业务问题的企业服务。OceanBase走开放的道路,就是为了给企业客户提供有保障的企业级数据库服务。”