百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

双十一支付宝数据库:OceanBase演变之路

ccwgpt 2025-02-21 12:29 37 浏览 0 评论

IT168 技术】大家知道,每年的双11,都是购物狂欢节。今年的淘宝双11交易额达到的惊人的571亿,在这些光鲜数据的背后,其实也是对淘宝数据库的极大考验。更值得一提的是,今年双11支付宝的支付峰值突破了每分钟285万笔,创下了新的纪录。如此高并发负载的交易量,让我们对幕后支撑的数据库技术OceanBase心生好奇。究竟OceanBase有哪些强大之处呢?

OceanBase的系统架构师杨传辉

毫无疑问,技术是打赢双十一“战争”的关键,而人又是成就技术创奇的巅峰力量。本期i访谈我们重邀OceanBase的系统架构师杨传辉,为大家揭晓高性能分布式数据库系统的演变之路。

IT168(Q1): 您好!很高兴有机会采访到您,能否简单介绍下自己?

杨传辉(A1):我叫杨传辉,来自阿里巴巴蚂蚁金服基础数据部,花名日照,目前是OceanBase的系统架构师。我是个技术宅,研究领域主要是云计算和大数据,平常喜欢写写技术文章,和微博上的技术同行互动,维护了个人博客:http://nosqlnotes.net,出版过一本分布式书籍《大规模分布式存储系统:原理解析与架构实战》。做技术的,保持谦逊,主动找事情做,追求极致,才能不断进步。

IT168(Q2): 您在阿里一直从事OceanBase的研究,有四年之余了,伴随着这款数据库新贵的一路成长,您见证了它的演变历程,能否和我们分享下这些年来的苦与乐?

杨传辉(A2):分布式系统的成熟至少需要三年时间,数据库系统更是五年以上,OceanBase这样的分布式数据库系统研发是需要经历“八年抗战”的。到目前为止,做了四年半,取得了一些小成绩,但未来的路还很长。

首先,我觉得自己比较幸运,毕业以后首先在百度,后来转战到阿里,一直从事大规模分布式系统的研发工作,也一直能够有幸得到高人指点。BAT的好处在于能够提供海量应用场景,尤其是阿里,能够把最核心的业务,包括交易系统放到OceanBase这样的新系统上。这样的挑战、这样的信任,不是能够用金钱或者其它东西衡量的。系统研发一直都是“美帝”的天下,中国几乎没有能够拿得出手的系统,根本原因在于缺少应用场景。以BAT为代表的中国互联网的崛起给我们提供了逆袭的机会。

分布式数据库研发短时间是出不了成绩的,两年左右时间大概也只能够入门。这个领域并不需要一个人有多聪明,关键在于这个人是否踏实,真正享受这个过程并且不断地坚持。研发过程中会遇到很多的困难,比如没人敢用你的系统,又比如答应过的需求无法按时完成,辜负了用户的信任,或者技术决策失误,兄弟们也有可能因为你而坚持加班等等,各种情况始料未及。当然,更多的时候是痛并快乐着。记忆中,我感触最快乐的瞬间刻骨铭心:重要的系统上线,通过我们的系统解决了用户的疑难问题,看着双十一零点系统压力不断冲高而安然无恙。

最为难忘的是2011年双十一,当时,第一个项目收藏夹上线,双十一前两个礼拜发现重大Bug,系统在晚高峰会触发一个Linux内核问题,程序异常退出。记得当时是周五晚上,我们北京的同学立刻订了第二天的机票出差到杭州,后来临时修改代码,线上测试,折腾了几次,终于在双十一前一个礼拜搞定。等到我们的系统顺利挺过2011年双十一时,所有的同学都长长地舒了一口气。有点运气,那时我真正领悟到了什么叫做“痛并快乐着!”。

IT168(Q3): 阿里为何要自主研发支持海量数据的高性能分布式数据库系统OceanBase,而不是用商业的Oracle或者开源的MySQL?

杨传辉(A3):从经济学的角度看,这是一个边际成本的问题。自主研发前期投入是巨大的,不过以后边际成本会逐步降低。Oracle和MySQL都是单机数据库系统,每次扩容都是一个比较大的项目,迫切需要一套可自动扩展的系统,另外,Oracle license贵,MySQL在阿里的应用场景下有这样那样的问题,比如主备延迟很大,有丢数据风险,各种场景下的性能也存在很大的提升空间。当一个公司的规模比较小的时候,自主研发是不划算的,即使做成了也没法收回成本;然而,到了阿里这样的规模,自主研发,掌握核心技术决定自己的命运已经成了不得不做的事情。就是在这样的背景下,OceanBase应运而生。

IT168(Q4): OceanBase第一个应用是收藏夹。最近,听说支付宝交易也用到了OceanBase。能否结合阿里的应用谈谈OceanBase的优势。

杨传辉(A4):相比传统的关系数据库,谈及OceanBase的最大亮点,当属可自动扩展的特点,它不仅仅可以扩展到一个数据中心,乃至同城,在未来,OceanBase能成为跨地域多数据中心的全球数据库。当然,OceanBase还有一些特性,比如强一致性,能够自动容忍一台服务器甚至是整个数据中心故障,而不会丢失一条记录。值得强调的是,支付宝交易之所以会选择OceanBase而不是开源的MySQL,正是因为只有OceanBase能够做到完全不丢数据。

另外,随着OceanBase不断优化,OceanBase用武之地将会越来越多,比如支付宝交易的性能已经超越了所有的开源数据库,以后还会超越商业数据库。这就是自主研发的优势,等到渡过了积累期,相信OceanBase的后劲会很足。

IT168(Q5): 我们知道,很多电商面对双十一带来的压力,都会在双11前对数据库集群进行扩容,相信阿里也不例外。我们常见的扩容有两种,一种是读写分离,通过增加备库提供读服务来提升集群的能力;另一种是水平扩容,将数据重新分布,拆分到更多台服务器上,达到扩容数据库集群的目的。能否谈谈OceanBase是如何扩容的?

杨传辉(A5):双十一大促这样的应用场景很有中国特色,技术人员都知道,整个后台系统只有数据库容量最难提升。传统数据库的运维人员需要花费大量的时间来做数据库扩容,包括读写分离、垂直拆分、水平拆分等等。不过,对于OceanBase运维人员来说,扩容是一件非常淡定的事情,我们唯一要做的事情就是加入更多的服务器。加入服务器,容量就提了,OceanBase系统内部可以实现自动扩容,解决了我们的燃眉之急。

IT168(Q6):在分布式系统中存在着著名的“短板理论”,一个集群如果出现了负载不均衡问题,那么负载最大的机器往往将成为影响系统整体表现的瓶颈和短板。那么OceanBase在阿里双十一的大战中是如何做到负载均衡的呢?

杨传辉(A6):OceanBase内部会自动把数据切分为一个个比较小的分片,每台机器服务若干个分片,当某台服务器的分片成为热点时,会自动触发迁移操作,将分片从负载较高的服务器迁移出去,这样,就避免了“木桶效应”。这也是OceanBase的一个优势,无论双十一之前热点怎么变,OceanBase都可以很快把热点数据均衡到整个集群,而不是因为一两台服务器把整个集群压垮了。

IT168(Q7):在分布式系统中存在着著名的“CAP理论”,很多NOSQL系统都会为了提升性能而牺牲一致性。OceanBase是如何做的呢?

杨传辉(A7):确实是这样,很多NOSQL系统为了实现简便,牺牲了一致性来提升性能。然而,对于电商、支付这样的业务,根本没法使用弱一致系统。OceanBase是真正的分布式关系数据库,不仅仅支持分布式,还支持SQL、事务、并发控制这样的关系数据库特性,用户使用起来和MySQL没有任何差别。

和MySQL的不同点在于,MySQL主备同步是有丢数据风险的,而OceanBase通过Paxos选举协议实现强一致性。无论是一台服务器,还是数据中心整体故障,OceanBase都能够自动恢复,而且做到完全不丢数据。OceanBase的这种做法和Google、Microsoft以及Amazon云存储系统的底层原理都是共通的。

IT168(Q8):在双十一中,我们经常会遇到比如热点商品更新库存,秒杀,红包等场景。当同时大量更新数据库中的同一行时,就会产生大量的锁等待,数据库的性能就会急剧下降。那OceanBase是如何做到并发控制的呢?

杨传辉(A8):热点行是数据库里面的一个经典难题。热点应用的场景很多,比如双十一抢购小米手机。首先,OceanBase的事务引擎面向内存设计的,它的特点就是快,而且避免了传统数据库的写入放大问题,这样,OceanBase的锁等待天生就要更少。另外,OceanBase还提出并第一个实现了提前解锁、排队等待等优化思想,这些思想后来也应用到集团MySQL数据库的patch中,成为阿里双十一应对热点问题的标配。

IT168(Q9):刚才说到,OceanBase要“八年抗战”。那么,OceanBase未来准备做哪些事情。我们的读者也会有一些对OceanBase研发工作感兴趣,你们需要什么样的人?

杨传辉(A9):OceanBase未来要做的事情很多,大目标只有一个:做全球最好的分布式数据库。我们的数据库可以跨地域部署,性能超越Oracle,使用起来和MySQL一样,并且应用到阿里,应用到中国,应用到全世界。

前面已经提到,我们需要的人首先要踏实,享受技术并且能够耐得住寂寞。另外,不断挑战自己,追求极致。当然,具备数据库开发、分布式系统开发、系统优化等相关经验会更好。

IT168(Q10):非常感谢杨传辉为我们带来的精彩分享,谢谢!

相关推荐

自己动手写Android数据库框架_android开发数据库搭建

http://blog.csdn.net/feiduclear_up/article/details/50557590推荐理由关于Android数据库操作,由于每次都要自己写数据库操作,每次还得去...

谷歌开源大模型评测工具LMEval,打通谷歌、OpenAI、Anthropic

智东西编译|金碧辉编辑|程茜智东西5月28日消息,据科技媒体TheDecoder5月26日报道,当天,谷歌正式发布开源大模型评测框架LMEval,支持对GPT-4o、Claude3.7...

工信部:着力推动大模型算法、框架等基础性原创性的技术突破

工信部新闻发言人今日在发布会上表示,下一步,我们将坚持突出重点领域,大力推动制造业数字化转型,推动人工智能创新应用。主要从以下四个方面着力。一是夯实人工智能技术底座。通过科技创新重大项目,着力推动大模...

乒乓反复纠结“框架不稳定”的三个小误区

很多球友由于对框架的认知不清晰,往往会把“框架不稳定”当成一种心理负担,从而影响学球进度,其典型状态就是训练中有模有样,一旦进入实战,就像被捆住了手脚。通过训练和学习,结合“基本功打卡群”球友们交流发...

前AMD、英特尔显卡架构师Raja再战GPU,号称要全面重构堆栈

IT之家8月5日消息,知名GPU架构师拉贾科杜里(RajaKoduri)此前曾先后在AMD和英特尔的显卡部门担任要职。而在今日,由Raja创立的GPU软件与IP初创企...

三种必须掌握的嵌入式开发程序架构

前言在嵌入式软件开发,包括单片机开发中,软件架构对于开发人员是一个必须认真考虑的问题。软件架构对于系统整体的稳定性和可靠性是非常重要的,一个合适的软件架构不仅结构清晰,并且便于开发。我相...

怪不得别人3秒就知道软考案例怎么做能50+

软考高级统一合格标准必须三科都达到45分,案例分析也一直是考生头疼的一门,但是掌握到得分点,案例能不能50+还不是你们说了算吗?今天就结合架构案例考点,分享实用的备考攻略~一、吃透考点,搭建知识框架从...

UML统一建模常用图有哪些,各自的作用是什么?一篇文章彻底讲透

10万+爆款解析:9大UML图实战案例,小白也能秒懂!为什么需要UML?UML(统一建模语言)是软件开发的“蓝图”,用图形化语言描述系统结构、行为和交互,让复杂需求一目了然。它能:降低沟通成本避...

勒索软件转向云原生架构,直指备份基础设施

勒索软件组织和其他网络犯罪分子正越来越多地将目标对准基于云的备份系统,对久已确立的灾难恢复方法构成了挑战。谷歌安全研究人员在一份关于云安全威胁演变的报告中警告称,随着攻击者不断改进数据窃取、身份泄露和...

ConceptDraw DIAGRAM:释放创意,绘就高效办公新未来

在当今数字化时代,可视化工具已成为提升工作效率和激发创意的关键。ConceptDrawDIAGRAM,作为一款世界顶级的商业绘图软件,凭借其强大的功能和用户友好的界面,正逐渐成为众多专业人士的首选绘...

APP 制作界面设计教程:一步到位_app界面设计模板一套

想让APP界面设计高效落地,无需繁琐流程,掌握“框架搭建—细节填充—体验优化”三步法,即可一步到位完成专业级设计。黄金框架搭建是基础。采用“三三制布局”:将屏幕横向三等分,纵向保留三...

MCP 的工作原理:关键组件_mcp部件

以下是MCP架构的关键组件:MCP主机:像ClaudeDesktop、GitHubCopilot或旅行助手这样的AI智能体,它们希望通过MCP协议访问工具、资源等。MCP主机会...

软件架构_软件架构师工资一般多少

软件架构师自身需要是程序员,并且必须一直坚持做一线程序员。软件架构应该是能力最强的一群程序员,他们通常会在自身承接编程任务的同时,逐渐引导整个团队向一个能够最大化生产力的系统设计方向前进。软件系统的架...

不知不觉将手机字体调大!老花眼是因为“老了吗”?

现在不管是联系、交友,还是购物,都离不开手机。中老年人使用手机的时间也在逐渐加长,刷抖音、看短视频、发朋友圈……看手机的同时,人们也不得不面对“视力危机”——老花眼,习惯眯眼看、凑近看、瞪眼看,不少人...

8000通用汉字学习系列讲座(第046讲)

[表声母字]加(续)[从声汉字]伽茄泇迦枷痂袈笳嘉驾架咖贺瘸(计14字)嘉[正音]标准音读jiā。[辨形]上下结构,十四画。会意形声字,从壴从加,加也表声。注:从壴,字义与鼓乐有关;从加,字义与...

取消回复欢迎 发表评论: