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

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
注册配置 MSE Nacos/ZooKeeper,182元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: 每年电商双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.”

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
2月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
251 2
|
2月前
|
存储 缓存 安全
某鱼电商接口架构深度剖析:从稳定性到高性能的技术密码
某鱼电商接口架构揭秘:分层解耦、安全加固、性能优化三维设计,实现200ms内响应、故障率低于0.1%。详解三层架构、多引擎存储、异步发布、WebSocket通信与全链路防护,助力开发者突破电商接口“三难”困境。
|
3月前
|
数据采集 监控 JavaScript
移动端性能监控探索:鸿蒙 NEXT 探针架构与技术实现
阿里云 ARMS 团队倾力打造的鸿蒙 NEXT SDK,为鸿蒙应用提供了业界领先的全链路监控解决方案。这不仅仅是一个 SDK,更是您洞察用户体验、优化应用性能的智能伙伴。
584 29
|
2月前
|
人工智能 自然语言处理 安全
AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教系统融合大语言模型、教育知识图谱、多模态交互与智能体架构,实现精准学情诊断、个性化辅导与主动教学。支持图文语音输入,本地化部署保障隐私,重构“教、学、评、辅”全链路,推动因材施教落地,助力教育数字化转型。(238字)
|
2月前
|
监控 数据可视化 数据库
低代码的系统化演进:从工具逻辑到平台架构的技术解读
低代码正从开发工具演变为支撑企业架构的智能平台,融合可视化开发、AI引擎与开放生态,实现高效构建、自动化运维与跨场景协同,推动数字化转型迈向智能化、系统化新阶段。
|
2月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
359 2
|
3月前
|
Cloud Native API 开发者
Gemini 2.5 Flash 技术拆解:从 MoE 架构到阿里云生态落地指南
2025年9月,谷歌Gemini 2.5 Flash发布,性能提升5%、成本降24%,引发行业关注。其MoE架构、百万上下文与“思考”范式,助力阿里云开发者高效构建云原生应用。本文解析技术内核,结合汽车、物流等案例,提供落地指南与避坑建议,展望大模型与流计算融合前景。
450 6
|
3月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
284 8
|
2月前
|
存储 人工智能 搜索推荐
拔俗AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教融合大语言模型、教育知识图谱、多模态感知与智能体技术,重构“教、学、评、辅”全链路。通过微调LLM、精准诊断错因、多模态交互与自主任务规划,实现个性化教学。轻量化部署与隐私保护设计保障落地安全,未来将向情感感知与教育深度协同演进。(238字)

热门文章

最新文章