直击阿里新一代数据库技术:如何实现极致弹性能力?

阿里数据库技术团队负责人张瑞

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

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

数据库上云

大家都知道,数据库实现弹性能力是比较困难的,一方面是因为数据库对性能要求非常高,另一方面是需要进行大量数据的搬迁,成本很高。数据库弹性的第一个方向是数据库上云,通过云的弹性能力来解决数据库的资源问题。

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

  1. 数据库如何快速上云,构建混合云?
  2. 如何降低虚拟化带来的性能损耗?
  3. 公有云环境和内部网络的互通问题。

经过几年的探索,这些难点都已得到解决。第一,数据库使用了高性能ECS,通过使用SPDK、DPDK技术和NVMe存储,可以让虚拟化损耗非常小,接近物理机;第二,我们建设了一套数据库混合云管理系统,可以同时管理云上和云下环境,在双11前快速把混合云构建起来,支撑双十一。第三,我们通过VPC网络连接阿里内部和公有云的网络,解决了混合云场景下的网络互联问题。

数据库弹性调度

使用云的资源还不够,为了实现更加极致的弹性能力,我们通过离在线混部技术,可以让数据库使用离线集群的计算资源,最大程度的降低成本。为了实现离在线混部技术,有两大基础条件:第一是容器化,通过容器实现了计算节点的资源隔离和统一调度,第二是计算存储分离,它是数据库弹性调度能力的基础。非常幸运的是,这几年技术的发展让存储计算分离成为可能,比如:25G高速网络、RDMA技术,高性能分布式存储等。

数据库存储计算分离架构如图,包括存储层、网络层和计算层,存储使用阿里自研分布式存储系统-盘古,数据库计算节点则部署在阿里自研容器(Pouch)中,通过25G网络与存储节点连接。

为了实现数据库存储和计算分离,我们在分布式存储-盘古上做了非常多的优化,比如:

  • 响应延时:单路读写响应延时0.4ms,RDMA网络响应延时小于0.2ms;
  • 二三异步:第三个数据副本异步完成,极大提升了延时的稳定性;
  • QoS流控:根据前台业务负载情况控制后台IO流量,保证写入性能;
  • 快速Failover:存储集群单机failover优化为5秒,达到业界领先水平;
  • 高可用部署:单集群四Rack部署,将数据可靠性提升到10个9。

同时,在数据库方面我们也做了大量优化,最重要的是降低计算节点和存储节点的网络传输量,以此来降低网络延迟对于数据库性能的影响。第一是redo log sync优化,将数据库吞吐提升了100%。第二是由于盘古支持原子写功能,所以我们关闭了数据库的Double Write Buffer,高压力下数据库吞吐提升20%,网络带宽节省了100%。

双11数据库混部技术


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

阿里新一代数据库技术

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

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

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

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

X-DB架构图


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


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

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

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

X-DB与MySQL Group Replication对比测试


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

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

典型应用场景

同城跨AZ部署替代传统主备模式,我们把原来主备模式变成三节点,解决跨AZ数据质量问题和高可用问题。跨AZ数据强一致,单AZ不可用数据零丢失、单AZ不可用秒级切换、切换自封闭,无第三方组件。相对主备模式零成本增加。
跨Region部署,用更底层的数据库技术解决异地多活问题,三地六副本(主备模式)降低为三地五副本(三地五节点四数据),对于业务来说,可以享受跨Region数据强一致,单个Region不可用零数据丢失;跨Region强同步下依然保持高性能;切换策略灵活,可以优先切换同Region,也可定制跨Region切换顺序。数据库在双11中的黑科技

X-KV在双11中的应用

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

TDDLfor X-KV实现了如下功能:

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

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

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

ESDB是基于ES打造的分布式文档数据库,我们在ElasticSearch的基础上,支持了SQL接口,应用可以从MySQL无缝迁移到ESDB;针对大卖家,提供动态二级散列功能,彻底解决了数据同步的性能瓶颈,而且ESDB还可以提供复杂的查询能力。

数据库监控系统演进

数据库监控系统的技术挑战具体有以下四点:

  1. 海量数据:平均每秒1000万项监控指标,峰值1400万;
  2. 复杂的聚合逻辑:地域、机房、单元、业务集群、数据库主备等多维度数据聚合;
  3. 实时性要求高:监控盯屏需要立即看到上一秒的监控数值;
  4. 计算资源:占用尽可能少的资源进行采集和计算。

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

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

CloudDBA在双11中的应用

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

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

展望明年双11

展望明年的双11,我总结了三个关键词:Higher,Faster,Smarter

Higher意味着更高的交易峰值,背后其实是更低成本的追求,用极致的弹性能力支持更高的峰值,给用户最好的购物体验,希望有一天可以做到不限流。

Faster是我们技术人一直不变的追求,更快的应用系统、更快的数据库,更快的存储,更快的硬件等等。天下武功,唯快不破。

Smarter是机器智能在双11中的应用,不管是数据库、调度、个性化推荐甚至客服等方面,我们都希望机器智能可以得到更多的应用,产生更大的技术突破。

原文发布时间为:2017-12-27

本文作者:张瑞

时间: 2024-10-30 07:32:57

直击阿里新一代数据库技术:如何实现极致弹性能力?的相关文章

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

分享嘉宾: 张瑞:阿里巴巴研究员,阿里集团数据库技术团队负责人,经历阿里数据库技术变革历程,连续六年作为数据库总负责人参与双11备战工作. 双11是一场技术大练兵,是互联网界的超级工程.需要做到支撑尽可能高的零点峰值,给用户最好的体验:也要做到成本尽可能低,要求极致的弹性能力:还要做到整体系统的稳定.   数据库如何实现极致弹性能力 数据库上云 数据库实现弹性是比较难的,数据库对性能要求非常高,因此,必须实现数据库上云,但是如何上云呢? 数据库上云面临以下几个难点: 1.         数据库

阿里下一代数据库技术:把数据库装入容器不再是神话

回顾视频:http://yq.aliyun.com/webinar/play/220 张瑞,阿里集团数据库技术团队负责人,阿里巴巴研究员,Oracle ACE.双十一数据库技术总负责人,曾两次担任双十一技术保障总负责人.自2005年加入阿里巴巴以来,一直主导整个阿里数据库技术的不断革新. 近日,在京举行的2017中国数据库技术大会上,来自阿里巴巴集团研究员张瑞发表了题为<面向未来的数据库体系架构的思考>的主题演讲.主要介绍了阿里数据库技术团队正在建设阿里下一代数据库技术体系的想法和经验,希望能

阿里云数据库技术峰会回顾整理:演讲幻灯+直播视频,赶紧下载!

云数据库产品及架构设计背后的考量 嘉宾:萧少聪,阿里云数据库高级产品专家 演讲内容:阿里云数据库产品全体系介绍及数据库产品实现架构分享. 听众收益:通过本次议题,了解阿里云全数据库产品体系能解决哪些实用场景的问题,同时了解其解决的原理. PDF下载:https://yq.aliyun.com/attachment/download/?id=1963 直播视频:https://yq.aliyun.com/edu/lesson/698 整理文章:https://yq.aliyun.com/artic

2017天猫双11,1682亿背后的阿里绝密50+技术(长图下载)

2017天猫双11的交易额定格在1682亿.但对技术的追求,却从未定格. 11秒交易额破亿,28秒破10亿,3分01秒破百亿,40分12秒破500亿,9小时破1000亿--2017年11月11日的数据一定会铭记在历史中.交易峰值32.5万/秒,支付峰值25.6万/秒,比去年增长超1.1倍,再次刷新全球纪录.同时诞生的还有数据库处理峰值,4200万次/秒. 数字的背后是技术.在<零点之战!探访阿里巴巴8大技术专家,提前揭秘2017双11关键技术>中,我们曾直接探秘阿里云10+技术,包含云存储.视

HiTSDB 时序数据库技术架构和产品解析

8月24日阿里云数据库技术峰会上,来自阿里数据库事业部高级专家钟宇带来HiTSDB 时序数据库方面的演讲.本文主要从时序数据开始介绍,包括时序序列数据的特点,接着介绍了时序数据业务场景,以及OpenTSDB在HBase上的优化,最后分享了HiTSDB的优化和提高.   时序数据介绍 时序数据就是在时间上分布的一系列数值,时间和数值是两个关键字,时序数据一般指指标型数据,比如股票价格.广告数据.气温变化.网站的PV/UV.个人健康数据.工业传感器数据,还有关于应用程序的性能监控,像服务器系统监控数

阿里云数据库专家田英鹤:云数据库系统容灾架构设计和实战

8月30-31日20:00-21:30,一场别开生面的技术大会-- "蚂蚁金服&阿里云在线金融技术峰会"将在线举办.本次将聚焦数据库.应用架构.移动开发.机器学习等热门领域,帮助金融业技术开发者深入解析互联网应用的前沿应用与技术实践. 蚂蚁金服&阿里云在线金融技术峰会专题:https://yq.aliyun.com/activity/109 峰会统一报名链接:http://yq.aliyun.com/webinar/join/38 来自阿里云的技术专家田英鹤(花名:喜乐

HiTSDB时序数据库技术架构和产品解析

8月24日阿里云数据库技术峰会上,来自阿里数据库事业部高级专家钟宇带来HiTSDB 时序数据库方面的演讲.本文主要从时序数据开始介绍,包括时序序列数据的特点,接着介绍了时序数据业务场景,以及OpenTSDB在HBase上的优化,最后分享了HiTSDB的优化和提高. 时序数据介绍 时序数据就是在时间上分布的一系列数值,时间和数值是两个关键字,时序数据一般指指标型数据,比如股票价格.广告数据.气温变化.网站的PV/UV.个人健康数据.工业传感器数据,还有关于应用程序的性能监控,像服务器系统监控数据,

电信行业大数据应用的后盾 MPP架构数据库技术

ZDNet至顶网软件频道消息:在大数据时代,数据呈爆炸式增长,单个SMP系统已经无法应付数据增长所带来的巨大压力.随着网络技术的发展,PC服务器的"小型化"以及Linux系统的成熟,基于MPP架构的新一代数据库技术成为各行业用户的首选.电信行业作为国家重点行业,引领着IT技术的发展方向和潮流,在高并发业务处理.海量数据分析等领域有着迫切需求,而MPP数据库技术作为未来主流的数据库技术,通过分布式并行计算.动态扩展等技术,能够在大规模事务处理和大数据分析等多种场景,满足电信业务需求,提升

阿里云发布新一代数据库产品POLARDB,跑分领先一线友商

今天下午,阿里云升级发布了旗下最新一代的数据库产品POLARDB, 据悉,阿里云数据库产品目前覆盖包括:关系型数据库.混合分析数据库.搜索与时序数据库.NoSQL数据库以及数据库服务于工具等诸多领域,已成为全球数据库产品线最齐全的云计算厂商,今天整体数据库产品再次升级,旨在为企业提供面向未来的能力. 据了解,POLARDB采用第三代分布式共享存储架构,将IO操作减少50%,100%向下兼容MySQL5.6,性能是MySQL的6倍.它把创建只读副本进程从按小时计算缩减到现在几分钟就能完成,支持3分