双11、TPC-C?OceanBase的征程在哪里?

蚂蚁金服自研的分布式关系数据库OceanBase登顶TPC-C一个月后,便迎来了2019年双11大考,团队相信“TPC-C只是双11的虚拟预演,双11才是一次真实场景的TPC-C。”OceanBase在双11期间数据处理峰值达6100万次/秒,超过了TPC-C测试中的6088万次/秒的峰值,在实战中再次证明了自己。

台上十分钟,台下十年功。从2010年立项开始,OceanBase便伴随着阿里的业务以及双11的磨练成长,“数据库的数据不能出错,可是软件哪能没有BUG呢?所以一个做实时交易处理的数据库系统不只是研发出来的,更是用出来的。”OceanBase创始人阳振坤说。

“OceanBase是用出来的”

技术与商业相互成就。2009年,阿里巴巴集团首席架构师王坚提出“去IOE”,即摆脱业务系统对IBM小型机、Oracle数据库以及EMC存储的过度依赖。彼时,阿里巴巴举全公司之力投入到云计算的研发和使用中;2010年,在阳振坤带领下启动了OceanBase分布式关系数据库项目。

技术的发展要有业务的实战练兵场,不过即便是阿里巴巴有海量的业务场景,OceanBase一开始也只能在“边缘”的业务探索实践。2011年,OceanBase首次参与了双11,支持淘宝收藏夹业务。但是在随后的两年多时间一直没能走进阿里或者支付宝核心业务场景里,团队甚至随时面临解散的风险。

“我们算是天时地利人和都赶上,(做OceanBase)这件事情除非是被拍死掉,否则我们是肯定要把它做成的。”阳振坤在一篇文章中回忆当时做OceanBase的决心。

2014年,OceanBase迎来了重大转机,蚂蚁金服CTO鲁肃决定在当年的双11切10%的交易流量到OceanBase。彼时正值移动互联网爆发阶段,阿里巴巴的业务飞速发展,按照当时的业务量做全链路压测时Oracle数据库出现了抖动,“几分钟就要坏一个盘”,切到10%的流量才勉强扛住。那年双11最终把10%的交易流量切到了OceanBase,“Oracle也帮了我们(OceanBase)一把。”阳振坤感慨道。

数据库在交易业务里有了实践与验证后就有了能力的背书,之后的发展相对顺利。在2015年双11中,蚂蚁金服100%的交易流量和50%的支付流量迁移到OceanBase;2016年100%的交易流量、支付流量以及30%的花呗流量迁移到OceanBase;2017年蚂蚁金服所有的核心业务都迁移到了OceanBase,并在当年的双11创造了4200万次/秒数据处理峰值的世界纪录;在刚刚结束的2019双11中,OceanBase再次创造了6100万笔/秒数处理峰值的全新纪录。

OceanBase以低于传统数据库的成本、高性能,支持支付宝双11一次次的数据处理峰值纪录。在2016年5月,OceanBase核心团队成员获得了蚂蚁金服内部最高荣誉CEO大奖,戴上了“土豪金” 工牌带。同时,从 2016 年开始,团队着手将经过双11检验的OceanBase 对外输出,并于2017年正式对外商用。

目前,OceanBase除了支持蚂蚁金服自有业务、阿里巴巴集团双十一的流量考验以外,还支持着数十家商业银行、金融机构的业务。

从技术路线再谈OceanBase打榜TPC-C

OceanBase是分布式关系数据库,阳振坤介绍外界对OceanBase分布式系统可以满足交易处理一直存有质疑,这也是团队进行TPC-C测试的原因。

交易处理最重要的是能够满足事务的ACID特性,即原子性、一致性、隔离性、持久性,而这是集中式系统固有的优势,另一方面在线交易处理系统需要高可用性、高可靠性。而分布式系统在可靠性方面有天然缺陷,多台机器放在一起时其整体可靠性会指数级下降。这两个原因使得数据库经过半个多世纪发展,做交易处理一直都是集中式系统。

但是集中式系统也有“先天”的短板——扩展性差。蚂蚁金服研究员韩鸿源介绍,原来传统企业里不管是自己内部业务系统,还是对客前端柜台做业务系统,接入的终端数量都非常有限。基本上可以通过数据库服务器的垂直扩展满足业务需求。而随着互联网、移动互联网发展,海量的交易、数据使得传统集中式系统无法通过垂直扩展有效支撑客户访问请求。

OceanBase在一开始的时候就设定了两个重要的目标:一是系统能够水平扩展;二是即便使用普通硬件系统也必须高可用、高可靠。分布式系统具有很高的水平扩展性能,2014年到2016年间有OceanBase团队中有40多人All in OceanBase 1.0研发,主攻分布式事务难点。

后来,OceanBase在分布式数据库中实现了Paxos协议,将原来每一个物理节点换成一个Paxos组,相当于换成一个虚拟节点,这个虚拟节点背后有三/五个物理节点。根据多数派成功协议,三/五个节点里有两/三个节点写成功这个事务就被判定为成功,这样允许少数库故障而不丢失数据,解决了OceanBase分布式事务难点,实现了高可用与高可靠。

TPC-C作为一个OLTP联机交易处理系统的benchmark是世界最权威的测试基准,这些年TPC的benchmark也不断修订迭代,一方面适应业务的需求,另一方面跟上软、硬件的变化。“即使放在今天来看,不管是金融、交通、通讯等,它还是一个非常普遍适用的场景。”阳振坤强调。

打榜TPC-C证明了OceanBase分布式数据库完全具备接管核心的业务系统的能力。在双11中磨练成长,从TPC-C处证明了自己的能力,但是数据库作为最难迁移的软件技术之一,OceanBase的未来更多还是要实践中检验。

OceanBase的征程在哪里?

全球数据库市场空间巨大,根据Gartner的数据,2018年全球关系型数据库全球市场达到375亿美元,仍然以10%的速度增长,Oracle占据着较大比例。

今天,关系数据库在全球范围内的格局非常稳定,但海量数据高并发的挑战,以及云计算等新技术得发展为OceanBase等分布式数据库带来了新的机会,而且国内基础软件领域大势所趋——去“Oracle”热情高涨。

OceanBase在设计之初便不限于阿里内部而定位为一个通用数据库。蚂蚁金服最新发布得OceanBase 2.2版,内置MySQL以及Oracle两种模式,并在Oracle模式中引入了诸多功能,性能和稳定性上也相对2.0版本有大幅提升。比如,OLTP性能相比2.0版提升50%以上,部分复杂场景提升100%。

OceanBase 2.2版也被称为新一代HTAP数据库,OLTP与OLAP的融合已经成为数据库的一大发展趋势,原来OLTP由交易数据库来做,商业智能分析由数据仓库来处理。阳振坤介绍两个系统分开有较明显的缺点。

首先,数据仓库本身没有数据,需要架一个桥梁把数据从交易数据库通过ETL抽取、转换然后加载到数据仓库,并不是实时的。其次,交易数据库分库分表后也带来了很多挑战,比如订单号需要全局唯一,在业务扩容、业务缩容时需要做很多改动。第三是数据仓库本身天然面向主题,需要建多个数据仓库,尽管可以把相近的主题合并在一起,但这并不能改变数据仓库面向主题的本质,会造成大量的数据冗余。

“我们这个(TPC-C)测试更大的价值不在于OLTP,更重要的是想证明这个数据库既能够做交易,也能做智能场景分析。”阳振坤认为。OceanBase 2.2版本OLAP场景查询优化和执行能力显著提升,TPC-H全部22个查询,SF=1000(1TB)的数据量下,6台ECS(56超线程) Server总执行时间为730s。

据悉,兼容Oracle 的工作是 OceanBase 团队此前的重心。OceanBase 团队的目标是,用两年时间做到 Oracle 业务的平滑迁移,不需要修改一行代码、不需要业务做任何调整就能够将数据库迁移过来。

就如同OceanBase的名字一样,“海量”的数据库,OceanBase的征程也将是那个更广袤的关系型数据库市场。

很多人都知道蚂蚁金服有个传统项目是拜关公,“我们拜关公,不是我们迷信,更多的是表达我们对不可预知的一种敬畏。”未来的战场有很多不可预知,也有很多事等着OceanBase去探索,比如构建完善自身生态,将阿里内部的实践经验如何有效对外复用输出,如何处理企业客户原有IT资产等。

借用网友对OceanBase的评价作结:莫问前程,但行好事。孰好孰劣,市场和客户会给出答案。

Image placeholder
loddit
未设置
  45人点赞

没有讨论,发表一下自己的看法吧

推荐文章
TPC-C解析系列02_OceanBase如何做TPC-C测试

导语:蚂蚁金服自研数据库OceanBase登顶TPC-C引起业内广泛关注,为了更清楚的展示其中的技术细节,我们特意邀请OceanBase核心研发人员对本次测试进行技术解读,共包括五篇:1)TPC-C基

如何理性看待蚂蚁金服OceanBase刷新TPC-C纪录

OceanBase这两天霸屏朋友圈!一派是浮夸的宣传,超越Oracle,世界第一,过度解读,全面否定对手,引起了技术圈内人士的反感,因为刷新TPC-C纪录并不能说明OceanBase现在就超越了Ora

OceanBase数据库创始人阳振坤分享征战6088万tpmC的艰辛之路

前言:中国人民大学常被誉为是“中国人文社会科学的最高学府”,其实人民大学也是“中国数据库的发源地”。由中国人民大学教授萨师煊与王珊合作编写的《数据库系统概论》是国内第一部系统阐明数据库原理、技术和理论

2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?

大数据文摘出品来源:thegradient编译:张大笔茹、曹培信、刘俊寰、牛婉扬、Andy2019年,机器学习框架之争进入了新阶段:PyTorch与TensorFlow成为最后两大玩家,PyTorch

打破传统 华为数存融合新架构狠在哪里?

数字经济已经成为继农业经济、工业经济之后一种新的经济社会发展形态,是新一轮产业革命的典型代表。全球都在不断的推动数字经济的发展,产业数字化、数字产业化正在给世界经济增长提供新动能。数据已成为当下新生产

Cache 和 Buffer 的区别在哪里?

Cache和Buffer是两个不同的概念,简单的说,Cache是加速“读”,而buffer是缓冲“写”,前者解决读的问题,保存从磁盘上读出的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据。在很

马云缺席,双11新博弈

往年每次双11大战,马爸爸总会亲自督战。今年的双11,退休后的马爸爸十有八九不会亲赴战场了,但今年的双11却比往年来得更猛烈些……这不,双11还未正式到来。十一期间,三只松鼠与拼多多的口舌之争已经把双

96秒100亿!如何抗住双11高并发流量?

今年双11全民购物狂欢节进入第十一个年头,1分36秒,交易额冲到100 亿 !比2018年快了近30 秒,比2017年快了近1分半!这个速度再次刷新天猫双11成交总额破100亿的纪录。那么如何抗住双1

双11这场新数据狂欢

在一片“接下来就要吃土”的悲鸣声中,一年一度的双11落下了帷幕。这个以购物为主题的新兴节日,风头已经不输给任何传统节日了。从宣传造势到预售再到正式活动,与双11有关的任何一个话题都是全社会的关注点,刺

详解 | 阿里怎么做双11全链路压测?

导读:全链路压测是阿里的首创,本文将从工作内容、操作过程、运行总结等多个方向来介绍下阿里内部典型电商活动(如双11准备),以给大家展示一个完整的压测流程,帮助更多的企业和用户更好的完成性能测试。前言关

阿里系统软件迎战“双11”超高流量峰值全纪录

刚刚过去的2018年天猫“双11”,创下了全天2135亿GMV的数字奇迹,零点交易峰值比往年提升50%,各项指标均创下历史新高。2018年是“双11”的第十年,也是阿里系统软件事业部参与的第二个“双1

万字长文|1分36秒,100亿,支付宝技术双11答卷:没有不可能

2019年双11来了。1分36秒100亿,5分25秒超过300亿,12分49秒超500亿……如果没有双11,中国的互联网技术要发展到今天的水平,或许要再多花20年。从双11诞生至今的11年里,有一个场

云徙助力良品铺子「双11」:成为5.6亿背后的技术力量

每逢双十一时节,品牌的种草之心被推到顶峰。在密集的信息交汇中,消费者希望获取有价值的消费决策,品牌则希望被广泛看见、被坚定选择,此时,格外凸显出中台+精准营销的重要意义。双11购物狂欢节”已走过11个

从P4到P9, 在马云家写代码到双11前端PM

导读:今年的双11已经是阿里资深前端技术专家舒文来阿里的第11年,从应届生到双11前端PM,他一路升级打怪,实现了岗位上从P4到P9的晋升。这第11届双11顺利结束之际,他把在阿里这些年的成长经历做一

上汽集团如何借助云计算走向数字化转型征程?

  李涛上汽集团南京云数据中心负责人,帆一尚行云计算资深架构师上汽优秀工程技术带头人,主要从事上汽集团制造行业云计算领域的设计、研发、运营等工作,将互联网和云计算技术与传统汽车业务相结合。在集团领导支

TPC-C解析系列03_TPC-C基准测试之SQL优化

TPC-C是一个非常严苛的基准测试模型,考验的是一个完备的关系数据库系统全链路的能力。这也是为什么在TPC-C的榜单前列,出现的永远只是大家熟知的那几家在业界有着几十年积累、从关系数据库理论开始发展就

TPC-C解析系列05_TPC-C基准测试之存储优化

TPC-C规范要求被测数据库的性能(tpmC)与数据量成正比。TPC-C的基本数据单元是仓库(warehouse),每个仓库的数据量通常在70MB左右(与具体实现有关)。TPC-C规定每个仓库所获得的

TPC-C解析系列01_TPC-C benchmark测试介绍

作者:阳振坤2019.10导语:自从蚂蚁金服自研数据库OceanBase获得TPC-C测试第一名后,引起了行业内外大量关注,我们衷心的感谢大家对OceanBase的支持与厚爱,也虚心听取外界的意见和建

TPC-C解析系列04_TPC-C基准测试之数据库事务引擎的挑战

OceanBase这次TPC-C测试与榜单上Oracle和DB2等其他数据库在硬件使用上有非常大的不同,OceanBase的数据库服务器使用的是204+3台型号是ecs.i2.16xlarge阿里云E

对话OceanBase资深总监韩鸿源:数据库是技术能力,云是使用方式,两者不应是竞争关系

5月10日,在第十届中国数据库技术大会(DTCC2019)上,蚂蚁金服的金融级分布式关系数据库OceanBase2.0,在经过200名数据库领域三年以上的从业者投票和专业评委的评选下,高分荣获了“年度

分布式存储时代,横空出世的OceanBase

数据,被誉为新时代的石油。几乎任何一个企业的IT管理者,都会在演讲、采访或其他形式的交流分享中强调数据的重要性。获取洞察、行为预测、市场分析、业务转型升级……数据能够为企业带来巨大的商业价值。但与此同

理解 cookie、session、token、jwt

发展史 1、很久以前,Web基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议,就是请求加响应,尤其是我不用记住是谁刚刚发了

List、Tuple、Set、Dict数据类型

List声明:[]访问列表数据:变量[n]n表示列表中数据的位置编号。修改列表数据:变量[n]=数据则可以替换原本位于n-1位置的数据。 Tuple声明:()元组与列表不同之处在于其中数据不可修改。访

css文件放在项目哪里?

css文件放在项目哪里?css文件一般放在项目目录的css文件夹中,也可以根据框架要求放在不同的位置,例如react中,一个React组件一般就是一个文件夹,将相应的js和css文件放在组件文件夹即可

HPC CHINA 2019:面向E级计算时代的HPC/AI协同设计

蓝天飘白云,牧场奶茶香。蒙古大营雄风在,琴声传远方。骑马又滑沙,豪饮河套王。敖包相会歌一曲,笑发少年狂。中国一年一度高性能计算领域的盛会——全国高性能计算学术年会(HPCCHINA2019)在内蒙古呼