新一代数据库技术在双11中的黑科技

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 12月13-14日,由云栖社区与阿里巴巴技术协会共同主办的《2017阿里巴巴双11技术十二讲》顺利结束,集中为大家分享了2017双11背后的黑科技。本文是《新一代数据库技术在双11中的应用》演讲整理,本文主要从数据库上云和弹性调度开始谈起,重点分享了新一代数据库以及其在双11中的应用,包括X-DB、X-KV和ESDB等。

12月13-14日,由云栖社区与阿里巴巴技术协会共同主办的《2017阿里巴巴双11技术十二讲》顺利结束,集中为大家分享了2017双11背后的黑科技。本文是《新一代数据库技术在双11中的应用》演讲整理,本文主要从数据库上云和弹性调度开始谈起,重点分享了新一代数据库以及其在双11中的应用,包括X-DB、X-KV和ESDB等。内容如下。

分享嘉宾:

72e19453a5385d4c30dde06a0ec4e9c43060e388

张瑞:阿里巴巴研究员,阿里集团数据库技术团队负责人,经历阿里数据库技术变革历程,连续六年作为数据库总负责人参与双11备战工作。

双11是一场技术大练兵,是互联网界的超级工程。需要做到支撑尽可能高的零点峰值,给用户最好的体验;也要做到成本尽可能低,要求极致的弹性能力;还要做到整体系统的稳定。

 

数据库如何实现极致弹性能力

数据库上云

数据库实现弹性是比较难的,数据库对性能要求非常高,因此,必须实现数据库上云,但是如何上云呢?

c31a010e237e1cfda02575f73b0efd68efcb9a66

数据库上云面临以下几个难点:

1.         数据库如何上云,并快速构建混合云?

2.         如何降低虚拟化带来的性能损耗?

3.         公有云环境和内部网络的互通问题。

经过几年的探索,这些难点都已得到解决。第一,高性能ECS可以和物理机性能一样,主要使用了SPDK、DPDK技术和NVMe存储,让虚拟化损耗非常小,接近物理机;第二,数据库弹性混合云问题得到解决,可以同时管理云上和云下环境,用户可以在双11前把混合云构建起来,支撑双十一峰值。

数据库弹性调度

只有上云是远远不够的,还要进行离在线混布。而数据库实现弹性调度的两大基础条件是容器化和计算存储分离。容器性能需要与物理机持平,存储计算分离依赖于硬件的发展,25G网络和高性能分布式存储盘古让其成为可能。

7a02b02d79567f876c98cdd7524f38684bd72728

数据库存储计算分离架构如图,包括存储层、网络层和计算层,存储使用阿里自研分布式存储系统-盘古,数据库计算节点则部署在阿里自研容器(Pouch)中,除此以外,还有存储管控系统。

ca3c8a00c65212c84082caeffc21c6608d19659a

为了实现存储和计算分离,我们在存储上做了许多工作,包括:

  • 二三异步:第三个副本异步完成,平均延时降低10%以上,4个9 latency降低3-4倍;
  • QoS流控:根据前台业务负载情况控制后台IO流量,保证写入性能;
  • 快速Failover:存储集群单机FO优化为5s,达到业界领先水平;
  • 高可用部署:单集群四Rack部署,将数据可靠性提升到10个9。

在数据库方面我们也做了大量优化,最重要的是降低网络吞吐,以此来降低网络延迟对于数据库性能的影响。比如:redo sync优化,吞吐提升100%;由于盘古存储支持原子写,所以我们关闭Double Write Buffer,高压力下吞吐提升20%,带宽节省100%。

双11数据库混布技术

38800fcc69d11cd3d71f99f141d46d45c14a20c8

容器化和存储计算分离,使得数据库无状态化,具备调度能力。在双11高峰,通过将共享存储挂载到不同的计算集群(离线集群),实现数据库的快速弹性。

 

阿里新一代数据库技术

阿里最早是商业数据库,然后我们做去IOE,研发出阿里MySQL分支AliSQL和分布式中间件TDDL。2016年,我们开始思考新一代数据库技术X-DB,X代表追求极限性能,挑战无限可能的含义。

阿里的业务场景对于数据库有很高的要求:

  • 数据要可扩展;
  • 持续可用、数据要强一致;
  • 数据量大、重要程度高;
  • 数据有明显的生命周期特性,冷热数据特点鲜明;
  • 交易、库存,支付等业务,操作逻辑简单,要求高性能。

因此,定义新一代数据库就要包含几个重要特点:具备数据强一致、全球部署能力;内置分布式、高性能、高可用能力;具备自动数据生命周期管理能力。

X-DB架构图

ecd6d611f28483f48aafc796f97f58145b6bbe06

X-DB架构如图,引入Paxos分布式一致性协议解决问题;可异地部署,虽然网络延时增加,但能够保持高性能(吞吐),在同城三节点部署模式下,性能与单机持平,同时具备网络抖动的高容忍性。

58f97ea3a77cfae7940965742cb1b11ec16786c0

X-DB核心技术之一:高性能Paxos基础库X-Paxos是实现三节点能力的核心,可实现跨AZ、Region的数据强一致能力,实现5个9以上的持续可用率。

ad13fe6e8f199bc49f1b8737fbcfa28cdb5e1439

X-DB核心技术之二:Batching & Pipelining。X-DB在事务提交时,必须保证日志在数据库节点的多数派收到并提交,这是保证数据强一致基础,由于事务在提交时必须需要跨网络,这一定会导致延时增加,要保证高延时下的吞吐是非常困难的。Batching & Pipelining技术保证尽可能批量提交,数据可以乱序接收和确认,最终保证日志顺序提交。可以在高延时的情况下,保持很高的吞吐能力。

1b7c1b5a225103fe824ff6c8fc7ad3ae584c7c28

X-DB核心技术之三:异步化提交,数据库线程池在提交时会等待,为了最大程度提升性能,我们采用了异步化提交技术,最大可能保证数据库线程池可以高效工作。通过这些技术保证X-DB在三节点模式下的高吞吐量。

X-DBMySQL Group Replication的对比测试

45b30d23a069a6d090d352b5347ef55367230cab

我们与Oracle官方的Group Replication作对比。在三节点同IDC部署模式下,sysbench标准化测试。Insert场景,我们可以做到MySQL官方的2.4倍,响应时间比官方低。

9fd694435e2f5cb541ff430bb1b1281fa7879f43

在三节点三地部署模式下,sysbench标准化测试。Insert场景,X-DB(5.04万)性能优势特别明显,是MySQL GR(0.85万)的5.94倍,响应延时X-DB(58ms)是MySQL GR(150ms)的38%。

典型应用场景

46c56937a976ba2233115fb211d7df387bdd767d

同城跨AZ部署替代传统主备模式,我们把原来主备模式变成三节点,解决跨AZ数据质量问题和高可用问题。跨AZ数据强一致,单AZ不可用数据零丢失、单AZ不可用秒级切换、切换自封闭,无第三方组件。相对主备模式零成本增加。

c2e7abe9b7c7165c97aa38a73b7ac0b2e45c1193

跨Region部署,用更底层的数据库技术解决异地多活问题,三地六副本(主备模式)降低为三地四副本(三地五节点四数据),对于业务来说,可以享受跨Region数据强一致,单个Region不可用零数据丢失;跨Region强同步下依然保持高性能;切换策略灵活,可以优先切换同Region,也可定制跨Region切换顺序。

 

数据库在双11中的黑科技

X-KV在双11中的应用

bda1c7bb51f359520289b886c90e379725fc665a

X-KV是基于MySQL Memcached plugin的增强,今年我们做了大幅度的改进,支持更多数据类型,支持非唯一索引、组合索引,支持Multi get 功能,支持Online Schema change,最大变化是通过TDDL支持SQL转换。对于业务方,X-KV优势是超高读取性能,数据强一致;减少应用响应时间,降低成本;同时支持SQL,应用可以透明迁移。

TDDL for X-KV优化如下:

  • 独立KV连接池:SQL和KV连接池相互独立;变更时,两套连接池保持协同一致;应用可以快速在两套接口之间切换。
  • 优化的KV通信协议:不再需要分隔符,协议实现。
  • 结果集自动类型转换:字符串自动转换为MySQL类型。

交易卖家库的性能瓶颈解决方案

随着双11交易量增长,近两年交易卖家库的同步延时一直比较大,导致商户不能及时处理双11订单;且卖家库有大量复杂的查询,性能差。我们曾经通过为大卖家设置独立队列、同步链路合并操作和卖家库限流等进行优化,但仍然没有完全解决问题。

51d5e8616b64bd5528c5d67b8f49f3c4e5f64340

ESDB是基于ES打造的分布式文档数据库,我们在ES的基础上,支持了SQL接口,应用可以从MySQL无缝迁移到ESDB;针对大卖家,提供动态二级散列功能,解决大卖家同步的性能瓶颈。同时还做了大量的性能优化和限流保护等功能。

数据库监控系统演进

数据库秒级监控的技术挑战有很多,具体有以下四点:

1.         海量数据:平均每秒处理1000万项监控指标,峰值1400万;

2.         复杂的聚合逻辑:地域、机房、单元、业务集群、数据库主备等多维度数据聚合;

3.         实时性要求高:监控盯屏需要立即看到上一秒的监控数值;

4.         计算资源:占用尽可能少的资源进行采集和计算。

b51848cda415fc3370aebcf85587f539516b1e46

整个链路经历三代架构:第一代,Agent + MySQL;第二代,Agent + datahub + 分布式NoSQL;第三代,Agent + 实时计算引擎 + HiTSDB。

HiTSDB是阿里自研的时序数据库,通过实时计算引擎将秒级性能数据、全量SQL运行状况进行预先处理后,存储在HiTSDB中。通过第三代架构,实现了双11高峰不降低的秒级监控能力,这对我们了解系统运行状况、诊断问题是非常有帮助的。

CloudDBA在双11中的应用

阿里拥有业界最富有经验的DBA,海量的性能诊断数据。我们的目标是把阿里DBA的经验、大数据和机器智能技术结合起来,目标是三年后不再需要DBA做数据库诊断、优化等工作,而是让机器来完成数据库的智能化管理。我们认为自诊断、自优化、自运维是未来数据库技术发展的重要方向。

26f64e50440c9a5b85f0790246e9cc61cd9c2306

CloudDBA在今年双11也做了一些探索,通过对全量SQL以及监控数据的分析,我们实现了SQL自动优化(慢SQL调优)、空间优化(无用表无用索引分析)、访问模型优化(SQL和KV)和存储空间增长预测等功能。

展望明年双11HigherFasterSmarter

更高:更高交易创建峰值;

更快:高性能数据库、高性能存储;

更智能:CloudDBA发挥更大价值。

 


《2017阿里巴巴双11技术十二讲》全部讲师直播回顾&资料下载,请点击进入:

https://yq.aliyun.com/articles/280798

本文由云栖社区志愿者小组云迹九州整理,王殿进校审,编辑:刁云怡。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
79080
分享
相关文章
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以20.55亿tpmC的成绩刷新世界纪录,展现卓越性能与性价比。其轻量版满足国产化需求,兼具高性能与低成本,适用于多种场景,推动数据库技术革新与发展。
登顶TPC-C|云原生数据库PolarDB技术揭秘:单机性能优化篇
日前,阿里云PolarDB云原生数据库以超越原记录2.5倍的性能一举登顶TPC-C基准测试排行榜,以每分钟20.55亿笔交易(tpmC)和单位成本0.8元人民币(price/tpmC)的成绩刷新TPC-C性能和性价比双榜的世界纪录。 每一个看似简单的数字背后,都蕴含着无数技术人对数据库性能、性价比和稳定性的极致追求,PolarDB的创新步伐从未止步。「阿里云瑶池数据库」公众号特此推出「PolarDB登顶TPC-C技术揭秘」系列硬核文章,为你讲述“双榜第一”背后的故事,敬请关注!
登顶TPC-C|云原生数据库PolarDB技术揭秘:单机性能优化篇
【赵渝强老师】Oracle数据库的闪回技术
在Oracle数据库操作中,难免会遇到误删表或提交错误事务等问题,可能导致数据丢失甚至数据库停止运行。传统解决方法依赖备份恢复,但需提前准备正确备份。为此,Oracle提供了闪回技术,无需备份即可快速恢复数据。它支持7种类型的操作,如闪回查询、版本查询、表恢复等,能有效应对逻辑损坏和用户错误。闪回技术基于还原(undo)数据管理,启用自动管理后可实现高效恢复。
实力见证!数据管理服务DMS、云原生多模数据库Lindorm荣获“2024技术卓越奖”
实力见证!数据管理服务DMS、云原生多模数据库Lindorm荣获“2024技术卓越奖”
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
99 9
【Meetup回顾 第1期】竟是这样的国产数据库,YashanDB技术内幕曝光
YashanDB是一款基于统一内核,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景的新型数据库系统;YashanDB同时提供开发平台、运维平台和迁移平台3大工具平台以满足数据全生命周期管理。
59 2
【Meetup回顾 第1期】竟是这样的国产数据库,YashanDB技术内幕曝光
1月17日|阿里云云谷园区,PolarDB V2.0技术沙龙,畅聊国产数据库
为了助力国产化项目顺利推进,阿里云邀请企业开发者和数据库负责人到云谷园区,与PolarDB V2.0技术专家面对面交流。扫描海报二维码报名,我们将根据信息为您申请入园。欢迎参与,共同探讨PolarDB的最新技术和应用!
|
4月前
|
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
103 15
解密时序数据库的未来:TDengine Open Day技术沙龙精彩回顾
在数字化时代,开源已成为推动技术创新和知识共享的核心力量,尤其在数据领域,开源技术的涌现不仅促进了行业的快速发展,也让更多的开发者和技术爱好者得以参与其中。随着物联网、工业互联网等技术的广泛应用,时序数据库的需求愈发强烈,开源的兴起更是为这一技术的创新与普及提供了强有力的支持。
72 3

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等