盘点:2018年双11背后的蚂蚁核心技术

摘要: 一块儿来探索蚂蚁双11的神秘技术之旅吧!算法

小蚂蚁说:docker

大家都很关心的 “OB双11大促实战分享” 专题来啦!本系列将为你系统性的介绍OceanBase支撑蚂蚁双11背后的技术原理和实战分享。数据库

从平台到架构,再到实现,一块儿来探索蚂蚁双11这场神秘的技术之旅吧!性能优化

2018年的双11十周年,最终成交额以2135亿元创纪录收官,支付宝系统在这场“商业奥运会”中再次经受住了考验。这也是OceanBase顺利支撑蚂蚁双11的第五年。架构

从五年前,只有10%流量切到OceanBase上,到现在OceanBase 2.0版本成功支撑2018年双11的支付宝核心链路。每一年不变的是一如既往的表现平稳,丝般顺滑,变化的是技术能力的不断升级和迭代。今年的双11,OceanBase 2.0扛起了大梁,性能比去年提高了50%,真正实现了“零成本”支撑大促。负载均衡

1、2018双11大促使用了哪些核心技术?

今年的双11,OceanBase致力于经过底层架构及平台能力的提高,来实现双11稳定性、成本优化、性能及效率方面的全方位的提高。相较以往始终如一“丝般顺滑”的大促能力外,2018年的双11,OceanBase更加注重长久技术能力的沉淀:运维

  • OceanBase2.0版本首次上线支付宝的核心链路,包括交易、支付系统,为“峰值百万支付能力”的三年战略沉淀了通用的“极致弹性”的分布式数据库能力,夯实了百万支付的底层基座。
  • 在底层存储介质方面,OceanBase 2.0核心链路首次100%运行在容器上,同时存储计算分离架构上线,大幅下降资源成本的同时夯实统一存储基座。
  • 在智能化运维的实践方面,OCP(OceanBase云平台)着眼于SQL优化诊断、故障根因分析和智能容量规划等数据库关键场景,将数据库专家的经验与AI算法/机器学习相结合,提供智能化的数据库服务。
  • 在平台能力的沉淀上,OCP引入Orchestration理念,经过编排/复用原子变动任务灵活,实现大促快速弹出/弹回的流程,同时平台内置变动免疫及变动三板斧能力(可监控/可灰度/可回滚),极大的提高了大促总体的稳定性和效率;在整个大促期间,OCP自动执行40000+变动,最终实现全程零故障。
  • 在商业产品化方面:智能化运维及平台能力抽象出大促及对外商业化场景,建设通用能力来覆盖蚂蚁内外场景。

2、OceanBase 2.0 & 百万支付

每一年双11的压力在不断创造新高,支付系统须要具有百万每秒的支付能力,那么一个亟待解决的问题是:如何解决最小数据分片的峰值能力超过单机性能的问题机器学习

OceanBase 2.0应运而生,其目标是在应用无感知的状况下对数据分片进一步拆分,将数据sharding到无限多的机器上,实现极致弹性能力优雅支撑百万支付峰值。分布式

1.百万支付架构性能

以下图的百万支付架构所示,传统数据库的弹性架构,将数据进行物理拆分到不一样机器,业务在数据访问、研发、后期维护及数据配套设施上都很是繁琐;同时拆分后资源很难快速回收,且数据拆分及聚合没法实现业务无损。

相比于传统数据库的弹性架构,OceanBase 2.0架构彻底不侵入业务,内部经过分区实现数据分片的自组织及负载均衡,经过生成列及分区规则实现自动路由,经过分区聚合(partition_group)消除分布式事务性能开销以提高性能,从而实现无损线性伸缩。另外,数据分片间share_nothing及多版本的架构,实现分片故障隔离及单点故障消除的高可用架构。

2.性能提高

为实现“零成本大促”,OceanBase 2.0花了很是多的精力致力于性能的提高。相比OceanBase1.0,2.0在分布式架构上全面升级,如原生sharding/分布式事务优化/优化事务提交日志开销。

OceanBase做为底层基础软件,任何微小的性能提高都会为业务节省大量资源,秉承持续优化的匠心,OceanBase 2.0在数据库底层架构、系统实现层面及数据库运行环境全方位进行优化。最终,OceanBase 2.0相比1.0提高了50%的性能,实现今年双11大促的零机器增长。

3、OceanBase 容器化 & 存储计算分离

双11峰值须要大量的资源支撑,而峰值后资源处于低水位状态,如何快速申请/释放这部分资源?双11当天非支付链路资源空闲,大促是否能够抢占这批资源?大促不一样活动时间错峰,不一样链路的资源能否实现快速腾挪?相似的资源问题不一而足。

你们能够发现以上问题的本质在于:如何最大化程度下降双11当天的资源成本?这是大促技术要实现的一个核心价值

双11大促资源成本与两个因素相关,一个是大促资源的总数目,另外一个是持有时长。咱们能够经过系统优化提高单机性能,来下降大促资源的总数目(如前章节提到的OceanBase 2.0的性能优化)。

那么如何下降持有时长呢?咱们统一的思路是:用“高峰期抢占/低峰值释放资源”的方式来大幅下降持有时长;其两个关键前提技术就是容器化和存储计算分离。

1.OceanBase容器化

OceanBase容器化的核心思想是“资源调度”,大促目标就是“OceanBase可以被快速调度到各类资源载体上(如离线资源、云资源、峰值无压力的数据库其余集群)”;容器化屏蔽了底层资源载体的差别化,具有弹性部署高效的优势,是资源调度的前提条件。OceanBase打造自身调度能力,深刻结合副本、租户的概念,精细化资源画像,使得OB容器化部署快速实现分时复用、资源抢占及混部。

2.存储计算分离

存储计算分离,顾名思义,将数据库运行依赖的计算资源和存储资源部署到不一样的资源载体上,从而实现数据库的弱状态化,使得数据库可分别对存储和计算资源进行弹性伸缩。其好处是显而易见的。

典型场景:

  • 大促态——CPU资源需求激增,而存储资源增幅很小,那么咱们能够针对性对计算资源的机型进行扩容,从而下降资源成本且提高扩容效率;
  • 平常态——OB LSM架构将离散IO转化成顺序IO,所以存储的IO能力不是瓶颈,更多的是存储空间上的需求;存储计算分离后,多集群间可下降存储碎片,共享总体存储资源池,提高资源利用率。

4、平台智能化

随着业务规模的快速增加,系统稳定性SLA预发严峻和OceanBase部署的多样化,传统平台已没法知足咱们的需求,能够预见不久的未来,运维将成为业务扩展的瓶颈。所以,OceanBase平台正在逐步走向智能化道路实现智能运维。

OCP着眼于SQL优化诊断、故障根因分析和智能容量等大促关键场景,目标是将运维专家的技术经验和AI算法/机器学习技术相结合,分解运维关键技术,开发成一系列的智能运维模型,应用于大规模运维系统中。

众所周知,SQL plan的正确性对数据库运行相当重要。OCP针对风险场景SQL,在千万峰值压力下,实时进行plan正确性比对,并对可能存在性能变坏隐患的SQL进行分钟级修正。

容量水位是大促相当重要的一环,OCP经过数据建模/智能水位预测对集群/租户/docker进行容量画像,结合OceanBase内置Tenant Group能力,实现容器/集群/租户等多个维度的自动扩缩容,同时计算容量plan在集群/租户维度混部,实现最佳负载均衡部署【 深度部署资源利用率达到(n-1)/n 】,大幅节省了机器资源。

OCP做为OceanBase的“智能大脑”,实时监控数据库运行状态,小至单条SQL plan,大至数千台机器容量,真正作到了生产环境智能化全覆盖。将来,OCP还将不断创新数据库智能化的运维之路,打造更加完善的数据库自治体系。

5、生态与链接

蚂蚁金服与金融机构最先创建的链接是基于支付业务的合做,后来又逐渐扩展了不少其余普惠金融类的业务,好比网商银行的同业合做,借呗/花呗等。现在随着在蚂蚁金服内部多年积累的技术能力与产品能力,OceanBase也将全面走向外部,对全部行业开放,经过科技做为新的链接纽带助力企业的数字化转型。

过去金融业IT系统的基础架构建设基本都来自国外,如IBM、甲骨文、EMC这些公司构建底层架构,其中门槛最高的就是数据库的总体平滑替换。OceanBase团队从成立之初就肩负着使命,即咱们要作一款通用数据库真正的去推进整个社会的进步,可以让整个社会的生产力发生变化。

从2016年末,OceanBase就开始准备走出去,用技术改变业务形态;用技术创造新的业务模式,与更多企业创建更为紧密的链接关系。近两年对外服务的过程当中,经过与ISV的深度合做与赋能,不只提供OceanBase内核的能力,也不断丰富周边配套产品生态,涵盖使用数据库过程当中的方方面面。

将来,咱们将继续致力于提供高可用、高性能、低成本的数据库服务,相信经过科技的链接助力更多企业,让科技的产出变成能够量化的业务价值。

原文连接

相关文章
相关标签/搜索