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

摘要: 每年电商双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的目标,解决业务目前面临的痛点:

全面兼容MySQL,实现业务系统平滑迁入
极致性能,双11单实例热点扣减峰值TPS是去年的3倍
低成本,相比于传统的单元化主备架构部署,减少2个数据副本以及单元间数据同步资源成本
跨城容灾,借助Batching和Pipelining技术实现跨城强同步场景吞吐量几乎无衰减
数据强一致,借助Paxos协议提供多单元间数据强一致能力;批量关闭中心集群全部实例,集群30秒内完成单元选主切换,数据零丢失
计算存储分离,彻底解决传统机型计算资源和存储资源固定配比问题,搭配容器化技术,大促峰值期间将数据库弹性部署运行在离线任务主机,落地零扩容成本支持双十一大促
X-DB首次亮相在2017年双11的舞台,平稳支撑零点峰值32.5万笔/秒,开启了阿里数据库体系从分库分表时代向分布式集群时代的大门。技术之路永无止境,我们今天的技术现状离业务对我们的要求还有很大的差距。但是千里之行,始于足下,借用《魔戒》里的经典台词:“There’s some good in this world, Mr. Frodo. And it’s worth fighting for.”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot 使用unoconv 在线预览 doc,doxc,xls,xlsx,ppt,pptx 文件

接上一篇:linux环境源码安装unoconv Linux环境_源码安装Unoconv实现文件在线预览doc,doxc,xls,xlsx,ppt,pptx 文件 https://gblfy.blog.csdn.net/article/details/103540694 接上一篇:linux环境…

重磅!AWS任命张文翊女士为全球副总裁及大中华区执行董事!

2019年7月11日,北京,亚马逊(NASDAQ:AMZN)旗下公司Amazon Web Services, Inc. (AWS) 今天宣布,任命现任亚马逊全球副总裁及亚马逊中国总裁张文翊为AWS全球副总裁及大中华区执行董事,现任AWS全球副…

解码2017双11:全球狂欢新记录背后的阿里云存储

摘要: 2017天猫双11再次刷新纪录,这背后是大数据的支撑和阿里云计算的能力的体现。手淘、天猫APP主站的所有图片和视频都存储在阿里云对象存储OSS之上,全球数以亿计的消费者,对这些商品的访问的流量和并发次数,比成交笔…

maven的网易镜像

<mirror><id>nexus-163</id><mirrorOf>*</mirrorOf><name>Nexus 163</name><url>http://mirrors.163.com/maven/repository/maven-public/</url></mirror>

开发者,什么是你真正关心的问题?| AI ProCon 2019

2018 年&#xff0c;上千名开发者与上百名技术专家齐聚一堂&#xff0c;在 CSDN 2018 AI开发者大会上以“AI技术与应用”为核心&#xff0c;深度聚焦人工智能的技术创新与行业应用&#xff0c;真正做到了“只讲技术&#xff0c;拒绝空谈”。今年&#xff0c;在产业智能化的浪潮…

最大值_Leetcode2 | 滑动窗口最大值(Q239)

:)Sliding Window MaximumQ 239今天也是好心情Problem Description DifficultyYou are given an array of integers nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the w…

PCDN实现flash无延时直播的技术原理与优点

摘要&#xff1a; PCDN是以P2P技术为基础&#xff0c;通过挖掘利用边缘网络海量碎片化闲置资源而构建的内容分发网络&#xff0c;它具有低成本、高品质的特点&#xff0c;十分适用于视频直播这一业务场景。针对直播中延时的情况&#xff0c;PCDN也进行了一系列优化&#xff0c;…

CDN新品发布:阿里云SCDN安全加速开放公测

摘要&#xff1a; SCDN(SecureCDN)安全加速产品是CDN推出的一款集合安全能力的内容加速服务&#xff0c;用户就近取得所需内容解决因分布、带宽、服务器性能带来的访问延迟问题&#xff0c;提升网站访问速度。同时防护DDoS&#xff0c;CC&#xff0c;Web应用攻击&#xff0c;恶…

Centos7 查看/关闭/启动防火墙

CentOS 7.0默认使用的是firewall作为防火墙 查看防火墙的状态systemctl status firewalld关闭防火墙(临时,重启失效)systemctl stop firewalld启动防火墙systemctl start firewalld重启防火墙firewall-cmd --reload开机启动防火墙systemctl enable firewalldreboot 永久关闭防…

美企调查华为设备安全性,华为发长文质疑;摩根大通预计苹果2020年将推5G iPhone;谷歌拟联手Dish成立美国第四大运营商...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周五第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

阿里云数据传输服务低价不低质,服务再升级

摘要&#xff1a; 为了释放更多技术红利&#xff0c;进一步普惠广大客户和开发者&#xff0c;阿里云于12月下旬宣布&#xff0c;数据传输服务(Data Transmission Service) DTS将全面降价&#xff0c;并于当月生效。 此次价格调整涉及多项服务和功能&#xff0c;国内地区数据订阅…

实现mvcc_MySQL 的多版本并发控制(MVCC) 是干啥的?

点击蓝色“架构文摘”关注我哟加个“星标”&#xff0c;每天上午 09:25&#xff0c;干货推送&#xff01;来源&#xff1a;https://segmentfault.com/a/1190000037557620作者&#xff1a;白菜1031一、什么是多版本并发控制多版本并发控制 技术的英文全称是 Multiversion Concur…

网站访问速度提升200%以上,阿里云虚拟主机支持PHP最新版本

摘要&#xff1a; 日前&#xff0c;阿里云虚拟主机推出了新功能&#xff0c;支持PHP的最新版本 7.0和7.1&#xff0c;并支持用户在多个不同PHP版本之间切换。 PHP 作为最好的Web编程语言&#xff0c;最新版本已经更新到了7.0和7.1。阿里云作为国内虚拟主机的领头羊&#xff0c;…

CentOS 7 CentOS7查看开放端口命令及开放端口号

查看已开放的端口 firewall-cmd --list-ports查询端口号8080 是否开启 firewall-cmd --query-port8080/tcp开放端口&#xff08;开放后需要要重启防火墙才生效&#xff09; firewall-cmd --zonepublic --add-port8080/tcp --permanent重启防火墙 firewall-cmd --reload关闭…

2019年6月 阿里技术面试题集锦(28道含答案)

戳蓝字“CSDN云计算”关注我们哦&#xff01;想要入职大厂可谓是千军万马过独木桥。要通过层层考验&#xff0c;刷题肯定是必不可少的。为帮助开发者们提升面试技能、有机会入职阿里&#xff0c;云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验…

一键清理网站木马文件,从此网站拥有专属保镖 ——阿里云虚拟主机推出木马查杀功能...

摘要&#xff1a; 近日&#xff0c;阿里云推出了云虚拟主机网站木马查杀的新功能&#xff0c;十分适合对网站安全不了解、不熟悉的用户&#xff0c;或网站出现挂马情况不清楚如何处理的用户。 阿里云表示&#xff0c;此次网站木马查杀功能是阿里云安骑士专为虚拟主机推出的安全…

python中的tkinter_基于python中tkinter的计算机实现

一、源代码import tkinter as tkclass Calculator(tk.Tk):def __init__(self):tk.Tk.__init__(self)self.title("我的计算器")self.memory 0self.Demo()def Demo(self):"""Create the Demo"""btn_list ["C", "("…

每天自动备份网站数据,发现问题一键恢复 ——阿里云虚拟主机推出网站数据自动备份功能...

摘要&#xff1a; 近日&#xff0c;阿里云宣布推出虚拟主机网站自动备份功能&#xff0c;可自动备份用户的网站和数据库数据至单独的备份区域&#xff0c;用户可随时恢复前三天的网站和数据库的数据。一旦出现意外或者数据丢失情况&#xff0c;可将损失降低到最低。 数据是用户…

如何快速下载CentOS7镜像

在centOS官网下载很慢&#xff0c;因此记录哪里下载比较快&#xff0c;其实就是 开源镜像网站网址阿里巴巴开源镜像站https://opsx.alibaba.com/mirror网易163开源镜像网站http://mirrors.163.com/ 下载entOS7步骤&#xff1a; 以阿里巴巴开源镜像网站作演示&#xff1a; 1.进…

pypi.python.org_在Pypi上发布自己的Python包

使用Python编程的都知道&#xff0c;Python的包安装非常的方便&#xff0c;一般都是可以pip来安装搞定&#xff1a;sudo pip install 最近因为项目上的需要&#xff0c;发布了一个自己的pypi Python包&#xff0c;这里我大致分享如何发布自己的Pypi包一般过程。打包工作主要依赖…