2017双11技术揭秘—阿里巴巴数据库技术架构演进

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
性能测试 PTS,5000VUM额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 每年电商双11大促对阿里技术人都是一次大考,对阿里数据库团队更是如此。经过9年的发展,双11单日交易额从2009年的0.5亿一路攀升到2017年的1682亿,秒级交易创建峰值达到了32.5万笔/秒。支撑这一切业务指标的背后,是底层技术体系的一次次迭代升级。

作者:谌文涛(俞月)

每年电商双11大促对阿里技术人都是一次大考,对阿里数据库团队更是如此。经过9年的发展,双11单日交易额从2009年的0.5亿一路攀升到2017年的1682亿,秒级交易创建峰值达到了32.5万笔/秒。支撑这一切业务指标的背后,是底层技术体系的一次次迭代升级。

阿里巴巴数据库系统经历了10多年的发展,今年正式确定从 第三代大规模分库分表 向 第四代X-DB分布式数据库系统 演进的目标。X-DB分布式数据库的落地已经在2017年双11大促中获得了可行性验证,同时底层开始引入存储计算分离架构。分布式在系统稳定性、容灾能力、容量扩展性、技术体系内聚性上有了质的提升,今年双11开启了阿里数据库技术架构新的篇章。

本文以阿里电商交易链路中的核心系统库存中心为例,一窥阿里集团数据数据库的发展历程。库存中心数据库集群(简称库存DB集群),从2012年独立拆分后,其发展可以概括为以下3个阶段:

  • 2012~2013年:分库分表水平拆分,构建大规模数据库集群
  • 2014~2016年:单元化异地多活架构,数据多单元间同步
  • 2017年:X-DB 1.0分布式集群部署上线,新的起点

作为阿里数据库体系中的核心系统,库存DB集群的发展历程可以作为缩影,代表了阿里巴巴数据库体系的演进。

诞生

库存DB集群诞生于2012年,是业务垂直拆分的产物。库存最早是商品中心数据库的一个字段,随着淘宝业务的复杂化,单一字段已经满足不了基于后端仓储的库存管理体系,所以便有了垂直拆分出来的库存DB集群。

水平拆分

2012~2017年,双11交易额一步步的刷新纪录,库存DB集群的QPS/TPS也实现了几十倍的增长。水平拆分的基本思路是把数据库扩展到多个物理节点上,让每个节点处理不同的读写请求,从而缓解单一数据库的性能问题。

借助于数据库团队的DTS(Data Transmission Service)产品,库存中心进行了大规模的水平拆分,分库和分表数量扩展到最初的几百倍,平稳的支撑了这一个阶段业务的快速发展。与此同时,在热点商品扣减、防超卖数据强一致需求、跨城异地容灾数据质量问题、业务数据量急剧膨胀、超大规模数据库集群运维等问题点上,迫切需要新一代架构来解决。

异地多活单元化

2014~2015年,为了进一步提升用户的购物体验,库存DB集群与主站交易链路一同做了单元化部署。单元化很大程度上解决了买家的使用体验问题,在本单元内封闭完成读写操作。但是对于卖家维度的数据,比如编辑商品、扣减库存,就会涉及到跨单元中心去写。关于单元化架构,之前已经有了很多介绍。

有了多个单元,对于底层数据库来说,面临的最大挑战就是数据同步,因为对于单元封闭的买家维度的数据,需要把单元的数据全部同步到中心;对于读写分离类型的业务,我们要把中心的数据同步到单元。这条数据通道就是依靠DRC(Data Replication Center)来完成。

如今,DRC不仅成为集团单元化链路的基础设施,对应的云产品DTS已经从2016年开始让阿里云用户、聚石塔商家低成本的搭建异地容灾。单元化架构给库存DB集群带来的最大挑战是多单元间的数据强一致问题,我们也为此做了很大的努力。

X-DB分布式集群

2017年双11,库存DB集群第一次使用X-DB 1.0分布式集群部署,平稳的支持了32.5万笔/秒的交易创建峰值。X-DB是阿里巴巴自研高性能分布式可全球化部署数据库,其核心技术目标概括为以下6点:

  • 100%兼容MySQL生态,应用无缝迁移
  • 跨AZ、Region的全球化部署能力,5个9以上的可用率
  • 自动化的数据Sharding,计算、存储均可水平扩展
  • 高性能的事务处理,相同硬件下达到MySQL 10倍的事务处理能力,百万TPS
  • 自动化的数据冷热分离,存储成本为MySQL的1/10
  • 计算存储分离,存储按需扩展

库存DB集群双十一部署架构:

正是由于X-DB提供了全面兼容MySQL、高性能、低成本、跨城容灾、数据强一致的能力。在2017年年初,数据库团队和业务研发团队确定了在库存中心部署X-DB 1.0的目标,解决业务目前面临的痛点:

  1. 全面兼容MySQL,实现业务系统平滑迁入
  2. 极致性能,双11单实例热点扣减峰值TPS是去年的3倍
  3. 低成本,相比于传统的单元化主备架构部署,减少2个数据副本以及单元间数据同步资源成本
  4. 跨城容灾,借助Batching和Pipelining技术实现跨城强同步场景吞吐量几乎无衰减
  5. 数据强一致,借助Paxos协议提供多单元间数据强一致能力;批量关闭中心集群全部实例,集群30秒内完成单元选主切换,数据零丢失
  6. 计算存储分离,彻底解决传统机型计算资源和存储资源固定配比问题,搭配容器化技术,大促峰值期间将数据库弹性部署运行在离线任务主机,落地零扩容成本支持双十一大促

X-DB首次亮相在2017年双11的舞台,平稳支撑零点峰值32.5万笔/秒,开启了阿里数据库体系从分库分表时代向分布式集群时代的大门。技术之路永无止境,我们今天的技术现状离业务对我们的要求还有很大的差距。但是千里之行,始于足下,借用《魔戒》里的经典台词:“There’s some good in this world, Mr. Frodo. And it’s worth fighting for.”

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
17天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
25天前
|
运维 持续交付 API
从零构建微服务架构:一次深度技术探索之旅####
【10月更文挑战第28天】 本文记录了作者在从零开始构建微服务架构过程中的深刻技术感悟,通过实战案例详细剖析了微服务设计、开发、部署及运维中的关键要点与挑战。文章首先概述了微服务架构的核心理念及其对企业IT架构转型的重要性,随后深入探讨了服务拆分策略、API网关选型、服务间通信协议选择、容器化部署(Docker+Kubernetes)、以及持续集成/持续部署(CI/CD)流程的设计与优化。最后,分享了在高并发场景下的性能调优经验与故障排查心得,旨在为读者提供一套可借鉴的微服务架构实施路径。 ####
57 3
|
15天前
|
存储 分布式计算 关系型数据库
架构/技术框架调研
本文介绍了微服务间事务处理、调用、大数据处理、分库分表、大文本存储及数据缓存的最优解决方案。重点讨论了Seata、Dubbo、Hadoop生态系统、MyCat、ShardingSphere、对象存储服务和Redis等技术,提供了详细的原理、应用场景和优缺点分析。
|
25天前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
26天前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
17天前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
42 7
|
18天前
|
存储 NoSQL 分布式数据库
微服务架构下的数据库设计与优化策略####
本文深入探讨了在微服务架构下,如何进行高效的数据库设计与优化,以确保系统的可扩展性、低延迟与高并发处理能力。不同于传统单一数据库模式,微服务架构要求更细粒度的服务划分,这对数据库设计提出了新的挑战。本文将从数据库分片、复制、事务管理及性能调优等方面阐述最佳实践,旨在为开发者提供一套系统性的解决方案框架。 ####
|
15天前
|
传感器 算法 物联网
智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建
随着城市化进程的加速,停车难问题日益凸显。本文深入剖析智能停车系统的关键技术,包括停车场电子地图编辑绘制、物联网与传感器技术、大数据与云计算的应用、定位技术及车辆导航路径规划,为读者提供全面的技术解决方案。系统架构分为应用层、业务层、数据层和运行环境,涵盖停车场室内导航、车位占用检测、动态更新、精准导航和路径规划等方面。
66 4
|
16天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
31 3
|
18天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
44 5