支付宝是目前使用率最高的支付方式之一,正值“双十一”之际,对于数亿人产生的每秒数万笔支付订单背后,是什么力量在保障交易系统的稳定性与交易过程的流畅性?

支付宝背后的技术力量,是连续两年在TPC-C测试中保持世界第一,并创造世界记录的数据库系统——OceanBase,已经在天猫“双十一”支付场景中稳定支撑了7年之久。那么,在每秒数万笔交易背后,作为数据处理核心系统的数据库提供了哪些关键能力,来保障狂欢者们“剁手”的速度?

近日,笔者与OceanBase管理团队进行了一场对话,为大家揭开上述问题。

从数据库的角度看,“双十一”最大的挑战就是稳定可靠。“双十一”是典型的极端并发场景,面对高频、高额、高密度交易数据,数据库系统的容灾、容量、弹性扩缩容、实时交易分析等能力成为一颗颗试金石,考验数据库技术的强弱。所谓业务场景决定技术高度,一出生就在“双十一”这种炼丹炉场景中的OceanBase数据库,在“真火”的燃烧和试炼中,从原生分布式数据库走向兼容集中式。从OLTP扩展为HATP,从闭源到拥抱开源,从人工运维演变为智能运维,从本地部署升级为多云部署。

关键能力一:无损容灾与持续稳定运行

2014年的“双十一”,OceanBase第一次真正亮相,由于Oracle容量不足,无法应对业务高峰,支付宝团队考虑将万分之一的流量切换到OceanBase,结果出人意料,原本不被看好的OceanBase,顶住了支付宝交易10%的流量。自此,支付宝开始了三年的业务迁移之路,将所有在Oracle系统中的业务,包括交易、支付、支付工具(花呗、借呗)、账目、会员等业务都迁移至OceanBase。

为什么支付宝的核心业务最后都交给了OceanBase?主要有以下三点原因。

第一,无损容灾。据OceanBase CTO杨传辉介绍,“OceanBase做到了无损容灾,当服务器发生故障的时候,OceanBase可以做到不丢失任何一条数据”。其中的关键在于 Paxos协议,使OceanBase实现了机器级、机房级、城市级的无损容灾。但是,对数据及其敏感金融业务,需要商业数据库得到充分验证后才敢相信它真的不会丢数据,“你先证明给我看!”这个问题就雷同于“怎么证明我妈是我妈”,很难验证。最后还是蚂蚁集团CTO出面,愿意相信OceanBase的技术及其团队,又因为OceanBase是集团战略的一部分,使之顺利在“双十一”的支付宝交易业务中落地。

既然OceanBase搞定了交易,那也可以搞定支付吧?这是2015-2017年整个支付宝技术团队对OceanBase的期望,从不被看好到“你一定行”,大家的态度发生了180度大转弯。因此,将Oracle系统中的业务,全部迁移到了OceanBase。OceanBase顺势做了技术升级,将传统“两地三中心”式的异地容灾方案,升级为“三地五中心”。对于前者,如果故障真的发生,由于异地数据不一致,备库担心数据泄露而无法决策操作,只能等主库恢复,做不到真正的“稳定可靠”。升级后,用多个系统,多副本的系统来做隔离,形成了一套既保证业务连续性,又不损耗较高成本的核心方案,支撑业务快速发展。

第二,数据正确性。这也是OceanBase多年来在“双十一”以及其它大促活动中呈现的核心能力。保证数据库的“稳定可靠”,最难的是做出一套数据完全正确的系统,OceanBase怎么解决这个难题呢?与其他数据库系统不一样的是,OceanBase在早期就应用到了核心场景中,因此,其将数据库内化进系统内核中,做数据的实时校验,系统一旦发生错误或故障,就会非常快速地被发现,保障数据正确。

第三,持续稳定运行无异常。OceanBase曾在2019年参加TPC-C测试(TPC-C是全球最具公信力的联机交易处理数据库的功能与性能结合的测试标准。是商业数据库想要证明自身实力的一个硬性门槛),以6088万(60,880,800)的在线事务处理性能创造了世界纪录,一年后以7.07亿(707,351,007)的成绩再创记录。这看起来只是一串数字,但该数据背后,意味着仅一张表格的数据支持量就超过了20万亿,同时还要保持数据的一致性。另外,TPC-C 要求被测数据库能够以平稳的性能至少持续运行8小时,其中性能采集时段(不少于2小时)内的性能累积波动不得超过2%,OceanBase的成绩是持续运行8小时,抖动小于0.5%。这为“双十一”等极端应用场景提供了稳定保障,得以让用户在面对机器故障、磁盘故障、网络故障时还能毫无感知,愉快地“买买买”。

关键能力二:弹性扩缩容

高并发场景不仅需要极致的容量,还需要具备弹性扩缩容的能力。对于容量,分布式数据库天然支持无限扩展服务器,这是OceanBase在业务中的优势。在“双十一”期间,他们会快速增加服务器,30分钟实现近5000台机器,并做性能优化和降本增效,锻炼容量能力,提升单机性能。据OceanBase CEO杨冰透露,每一年OceanBase都会设立一个项目,根据上一年“双十一”的需求来专门提升性能和优化成本,比如相比去年,今年读写提升了61%,而成本只有MySQL的三分之一左右。

对于数据库本身的弹性扩展能力,杨冰谈到支付宝的“百万级副本的能力”,即每秒最高峰值为一百万笔支付,这在数据库系统中,可能接近亿级QPS(Queries-per-second,查询率),“双十一”期间,每秒都会产生数万笔支付,对此,OceanBase通过两层弹性技术来支撑,第一层是中间件的分库分表,第二层是OceanBase的分区表格。先通过分库分表将数据分成一百份,再通过分区表格将这一百份分别拆分出一百份,共拆分出一万份,使得每一份都至少能在一台机器上,以此做自动的弹性。

通常,有分库分表就足够了,OceanBase为什么要再做一层?分库分表的好处在于对数据库依赖比较低,但问题是基于分成的一百份,想再拆分为一千份、一万份时很难,所以每用一次就需要上百人拆库,做技术攻坚。这才有了OceanBase的分区表,自动扩容,不再需要担心容量的问题,且对整个业务几乎没有影响。

此外,弹性能力还指在云上快速扩容缩容的技术。如今,普通机房的机器已经不能满足大促活动的数据处理了,尤其是“双十一”当天的容量比平常高出几十倍,这时,需要借助云计算的能力,把业务数据、服务快速地部署到云上。“双十一”结束后再迅速撤下来,因为在云上多待一小时就多花一小时的钱。这个过程就是快速弹上和弹下。了解数据库的人知道,这可是件麻烦事。上万台服务器拷贝上云,需要并行执行,过程中涉及近50万次变更操作,包括跑数据,加数据、准备切换等,所有变更操作由系统执行,且不能对业务有任何影响。

关键能力三:智能运维与实时交易分析

“双十一”期间会遇到很多问题,比如11月11号凌晨交易峰值之下可能造成服务器卡顿、故障等,那么如何才能保证数亿用户持续流畅的支付体验呢?上文提到,为了保证容量与弹性,OceanBase的服务器非常多,CPU达数百万级,怎么确保全部稳定运行?以及11月11号当天近50万次的服务器变更操作,如何更有效地执行?这就涉及到效能的问题。

过去7年,OceanBase把支撑“双十一”交易和支付基本搞定了,但如何做创新业务还有很长的距离要走。因此,在运维方面,OceanBase决定结合AI技术,将越来越多的运维工作交给AI,让其智能化、自动化诊断问题,并在发现问题后做出相应决策,以此提升DBA效能。杨传辉坦言,最理想的状态是“双十一”不需要人来值班,

除智能运维外,OceanBase也坚定提供实时交易分析能力。OceanBase最初是OLTP型数据库,随着业务场景对实时交易和智能分析的需求增大,其开始将HTAP作为核心能力之一。举个例子,“双十一”期间需要分析商家的交易数据,供商家了解交易情况以及进一步调整商品信息。此前,商品交易完成后,数据会汇集到离线数仓进行分析,至少几小时后才能出分析结果。而在“双十一”这样的大促场景中,商家迫切希望尽快查询到交易数据,快速做出下一步销售响应。当OceanBase具备HTAP的联机事务实时交易分析能力后,一套系统既可以交易又支持实时分析,商家能够在交易完成立即查询到商品卖的怎么样,相关类目商品卖得怎么样,做出进一步的促销战略。

关键能力四:一体化架构

上述三项关键能力是OceanBase过去7年为支撑“双十一”而运用的技术支撑,未来,随着AI、IoT、云计算等技术的发展,“双十一”等大促场景一定会出现新的需求,对此,OceanBase团队提出了新的应对理念:一体化架构。可以简单将其理解为三项融合,即集中式兼容分布式、融合OLAP与OLTP、结合本地与多云部署。

具体而言,一体化架构的底层为原生分布式架构,对外能够与经典数据库对标,且兼容Oracle、MySQL等数据库系统。这就同时具备分布式与集中式两种系统的优势,也就是说,既具备优秀的单机性能,又具备高可用、高扩展、低成本等特点。

之所以坚持原生分布式架构,是因为OceanBase团队认为原生分布式架构是未来核心系统的首选,同时“将复杂留给数据库,把简单留给客户”,比如容量不足的问题、系统故障的问题等都由数据库解决,而不是中间件、OLTP和用户去用对。而能够代表未来的原生分布式架构一定既能做边缘场景也能做核心场景,只有在核心场景取得突破才能真正代表未来,因此,OceanBase也在持续优化核心场景(如“双十一”)的技术能力,如提性能、降延迟、强化兼容等。

此外,OceanBase开源内核引擎,也是技术战略中的关键一步。内核引擎是开源了,但是上面的一些增值服务和工具没有开源,需要产学研各界专家、合作商、用户协同共建。并且,多云部署已经成为一种可预见的趋势,开源后可以将数据库资源部署到多云、公有云,既能在未来为更多云上企业提供服务,又能实现商业变现。

结语

从今年的“双十一”狂欢夜顺滑的支付状态来看,OceanBase又一次打赢了这场技术战役,回首12年的“双十一”历程,用户从PC端到移动端、从万民狂欢到全民狂欢、参与了一次次的消费升级,也见证了“双十一”背后的技术发展。技术支持团队在逐年暴增的数据浪潮下,一次次完成保卫系统、守护用户的艰巨任务,真正以技术力量支撑商业史不断创造新纪录。

你“剁手”的时候,支付宝在干嘛?相关推荐

  1. 商户们的赚钱利器,消费者的剁手助手:支付宝钱包

    摘要:马云打造了阿里,创造了淘宝,制造了"光棍节",这些都还不够满足他的野心,为了能够更方便快捷得让消费者们心甘情愿从自己口袋中掏出钢镚儿,他又"处心积虑"得推 ...

  2. 支付宝换上“读心术”AI客服,就为配合双11剁手的你

    李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 今年双11,随处皆AI. 上周我们介绍过,阿里内部把4亿张宣传海报的制作任务,交给了一个名为"鲁班"的AI. 而同样还 ...

  3. 那些从不在双11剁手的年轻人

    11月11日,一场商业风暴刮起的时候,有一群人,离这个风暴眼最近,同时,也是最没有机会剁手的人. 这场风暴是中国人再熟悉不过的天猫双11.10年间,中国商业社会和中国人的生活方式已被这股力量全部打破重 ...

  4. 揭秘双11丝滑般剁手之路背后的网络监控技术

    简介:本篇将重点介绍Hologres在阿里巴巴网络监控部门成功替换Druid的最佳实践,并助力双11实时网络监控大盘毫秒级响应. 概要:刚刚结束的2020天猫双11中,MaxCompute交互式分析( ...

  5. 露脸炒作、直播剁手!乔碧萝、红花会贝贝被拉黑,5年!

    乔碧萝殿下.红花会贝贝被拉黑了,5年内不得进行网络直播. 8月6日,中国演出行业协会网络表演分会公布第三批主播黑名单,乔碧萝殿下(张某花)和红花会贝贝(李某泽)在名单内,5年内两人将被禁止注册和直播. ...

  6. 阿里用技术帮用户剁手——《尽在双11——阿里巴巴技术演进与超越》

    每个互联网从业者都希望用户在自家平台上剁手,但很少有人知道让平台支持用户剁手.拉斯维加斯的快手富翁是低水平的帮用户剁手的方式,剁过两次之后用户就无手可剁了:而阿里的双11购物狂欢节则是高水平的帮用户剁 ...

  7. ​你在淘宝剁手,钱却可能进入黑客的口袋

    你可能不会想到,当你在淘宝上剁手的时候,钱却可能最终进入了黑客的口袋. 没错,淘宝卖家也不会想到,一个"小白顾客",却是披着羊皮的黑客.辛苦赚到的钱,可能一夜之间就被洗劫一空. 顾 ...

  8. 剁手党:过年想收快递!马云:照常送!最高补贴三千让快递员团圆

    春节将至,年货采购正当时!望着商场人挤人的壮观景象,网购年货越来越成为了多数人的选择.可是一想到有的货品年前下的单,年后才送到的"惨剧"就让人心疼不已. 不过,今年,大家可不用再担 ...

  9. 昨天的双十一你又剁手了吗?

    昨天是 2021 年 11 月 11 日 一年一度的双十一 你剁手了么? 激烈的场景在各大平台.卖场上上演.当你还在为双十一的价格战斗争,为单身狗的悲伤争鸣的时候,让我们来真正聊聊今年万众期待的双十一 ...

最新文章

  1. ML与Information:机器学习与Information信息论之间那些七七八八、乱七八糟、剪不断理还乱的关系攻略
  2. 华为云创建免费服务器的一次失败尝试
  3. 深入理解javascript
  4. Java 配置maven及阿里云镜像
  5. Facebook 开源3D目标检测框架VoteNet,曾刷新两大数据集最高精度
  6. 北林oj-算法设计与分析-Line up in the canteen(两种解法,附思路)
  7. Vue 犯罪指南:TypeError: Right-hand side of 'instanceof' is not an object
  8. 百度地图隐藏LOGO显示
  9. python是什么 自学-自学Python买什么书?
  10. 用python实现的仿真程序_如何实现疫情扩散仿真程序?
  11. PowerDesigner16.5下载
  12. 95后CEO讲述创业“邮件经”
  13. 智能DNS解析搭建成功
  14. 小米2017校园招聘笔试题
  15. 【小常识】打印机身份证双面打印方法
  16. c-lodop自定义分页打印
  17. 「推荐系统中的特征工程」1. 特征工程基础知识介绍
  18. The security strength of SHA-1 digest algorithm is not sufficient for this key size
  19. Andy's First Dictionary(思维)
  20. 炉石传说 C# 开发笔记

热门文章

  1. 静态时序分析(STA)附秋招面试提问
  2. matlab中awgn给信号添加高斯白噪声
  3. 【Unity】漂浮文字
  4. app如何添加广告位 uni_uniapp给全端小程序添加激励广告详细教程
  5. vue及rect面试点(更新中) - 面试篇
  6. YDOOK:ESP8266EX 管脚布局与定义
  7. [美文赏析]《非走不可的弯路》--张爱玲
  8. 光照探针 Light Probe
  9. 线性异质双官能PEG试剂荧光素-聚乙二醇-巯基FITC-PEG-SH
  10. 最新版本 release版本 ceph分布式存储搭建(rook-1.8.6)