TPC-C 中跑赢 Oracle 的 OceanBase,双 11 处理峰值达 6100 万次/秒!
作者 | 晶少
责编 | 阿秃
出品 | CSDN云计算(ID:CSDNcloud)
就在一年一度震撼人心的双11前夕,有消息称前段时间火爆到瞬间刷屏的OceanBase已经完成了Oracle模式的研发,助力银行和金融机构原先使用Oracle的业务可以平滑迁移到OB上,据悉目前已有银行领域的小伙伴完成了搬迁。
这不仅帮助金融机构降低了数据库使用成本,搬迁至OB后还可以享受分布式带来的红利,例如高可用、高性能和在线扩展等。更重要的一点,OB提供的分布式能力能够帮助金融机构加速自主创新的步伐。
TPC-C 中跑赢 Oracle
提及OB,或许大家还记得一月之前,OB成功挑战TPC-C测试进而刷新Oracle已经保持九年的得分纪录这一新闻,其实一直以来冲击TPC-C测试可谓是所有数据库内核开发技术人的梦想,但由于测试标准十分复杂,尽管商业背书价值颇高但却无一成功,作为国产数据库首次冲击榜单,OB团队更是夜以继日准备了一年之久。
如今的OB团队虽已在TPC-C测试中一枝独秀,但由于从2010年就长期保持的加速研发状态,也基于OB的快速创新迭代需求,据晶少了解团队目前的大部分时间都在攻克新功能,主要会涉及到几个方向,例如过去的数据库通常的交易支付功能都是OITP业务,如今OB正在尝试加入一些更加复杂的查询,这种尝试类似于Oracle、DB2等,这种复杂可以做到既可以支持OITP,又能支持OIAT这样的数据库。
具体来说这种尝试区别于Oracle主要在于OB数据库在OITP方面的指标较高,OIAP则是在同一个引擎中部署做到(通常都是分开的两个引擎),这其中就会涉及到很多,例如较为复杂的查询处理、优化器、存储引擎的能力提升以及分布式能力的挖掘等方面。此外就是基于Oracle功能的研发拓展以及配套工具、产品、生态的统一构建,例如基础的管控平台,用于数据迁移的工具,此外就是双十一的备战投入,也是十分关键的事情。
金融级分布式关系数据库
反观过去,我们都知道互联网底层存储软件一般都来自国外,比方说Oracle、Mysql、Postgresql、Microsoft SQL Server等;相比之下国内自主研发的关系型数据库的企业单位基本都发源于上世纪90年代左右,而且以高校、科研院所为主,整个局面直到OceanBase出现才稍有改观。有资料显示,官方将OB数据库直接定义为完全自主研发的金融级分布式关系数据库。一路走来OceanBase为什么能够成功?晶少觉得它区别于传统数据库的特性或许是揭开疑问的关键所在。
从数据库的性质入手,因为实际原因国产数据库很难在集中式这样的道路上表现极致,所以OB选择了一条不同的道路,采用分布式来奋起直追。这一点主要归功于软件层面实现的容错机制让开发不需要再买很贵的硬件来支撑需求,如此一来成本下降不说,系统处理能力还得到了显著提升。
具体来说之前的数据库基本都为集中式架构,或者是无法达成大规模线性可扩展的分布式架构,主要原因在于数据库需要时刻保持全局一致性。对此晶少理解为数据库本身就会涉及到一个事务的概念,如果事务想要达成可串行化就意味着所有的机器都要达成统一目标,不单单是加入机器那么简单。“这就是OceanBase软件层面做的一个最重要的工作,做到不管是一台机器的很多的核还是很多机器的很多核,最后都做到线性可扩展。”
“超级会计师”
此外还有比较麻烦的一点就是全局的快照。据晶少了解,OB在2017年还是局部化的事务控制,只有在2017年之后的版本慢慢有全局的事务版本号,所有的读取跟写录都需要到统一位置拿到全局ID,解决的是多台机器之间的读取来保证全局的快照。“尽管我们整体的TBCC性能已经取得了很大的成就,但并不是单机范围都已经达到了这个高度,完成此项目标还需要大量时间,但集合在一起所显示出的高扩展能力还十分值得称道的。”
更重要的是,OceanBase相比很多国内数据库厂商还有一个比较大的优势在于阿里巴巴具备很大的业务场景,例如双十一来进行性能稳定性的实战提升,可谓自己的业务才能够给数据库试错的机会。以双十一为例,其高峰期的并发需求量可谓全球领先。另外,阿里巴巴的业务范围特别广,例如支付宝、淘宝,菜鸟等各种类型,能想到的互联网与新零售等相关的业务都需要用数据库而且要求也比较高,这是OceanBase一个显而易见的优势。
“这是我们OceanBase的一个技术定位,我们认为目前来看集中式数据库在功能优化方面已经做到很极致,但没有解决的问题在于数据量,所以如果用一句话来总结,OB可以被称为透明可扩展的企业级数据库,希望这种可扩展性质慢慢也会支持其他一些行业。”
面对国际事务处理性能委员会(TPC,Transaction Processing Performance Council)官网发布的最新测试结果,即中国蚂蚁金服自主研发的金融级分布式关系数据库OceanBase成为首个登顶该榜单的中国数据库产品的消息,各界不是没有疑问,似乎是对质疑的一种回应,阿里云随之推出国内首个云端数据库测试平台,直接在阿里云上提供与OceanBase打榜时完全一致的云资源环境。同时表示,全球任意数据库厂商均可申请报名,以云端跑分这样的硬核方式与其他数据库一较高下。
对此OB技术人员认为,云端测试会是一种可预见的趋势。因为云端测试可以大大将测试成本降低下来。与之前不同,在云端测试特别简单,云端测试公有云的机器价格都是确定的,买一个机器的价格都确定好了,所以云端测试今后会是一种风潮。“同时,我觉得分布式的未来前景肯定会越来越好,主要数据量会越来越大,随之用户对数据库的并发也会比以前要求越来越高,会有一些新的场景出现。”
回到2010年双11期间,支付宝经历了最紧张的时刻,即距离系统崩溃只剩4秒。“惊魂4秒”之后,支付宝技术团队开始意识到,双11的交易量指数级增长,如果按照老的技术来运行,很难支撑支付洪峰,即使能支撑,成本也将是天文数字。况且天猫双11带来的都是世界范围内还从未遇到过的技术难题,只有实现核心技术自主研发,才能掌握创新的主动权。至此支付宝自主研发的金融级分布式关系数据库OceanBase应运而生。
OB 就像它的名字一样,是个“海量”数据库。用户在使用支付宝时产生的所有数据、以及对数据的处理都存放其上;它又被称为“超级会计师”,可以在一秒内同时记数万笔帐,是确保双11支付不卡壳,系统不崩溃的基础设施。就在2014年支付宝开启去IOE征程,阿里巴巴大胆尝试将10%的交易支付通过OceanBase完成。这些年来,如果说天猫双11是商家比拼新零售的年度“奥运会”,那么对支付宝来说就是检验OB处理能力的“阅兵场”。
回顾OB参加的历年双十一,我们可以一一感受到,2014年双11,OceanBase仅处理10%的交易数据链;2015年双11,OceanBase处理100%交易数据链和50%支付数据链;2016年双11,全部交易数据链和支付数据链以及30%花呗账务运行在OceanBase上;2017年双11,包括整个账务库在内的全部核心系统都100%运行在OceanBase上。
今年天猫双11当天,OceanBase数据库再次刷新数据库处理峰值,达6100万次/秒,创造了新的世界纪录,未来OB剑指何方,我们还将拭目以待。
【End】
热 文 推 荐