何登成13年开发缩影与阿里数据库内核锤炼

          嘉宾:何登成      编辑:薛梁  

数据库技术,不管何时何地,不管是互联网公司还是传统企业,都对数据库技术有着较高的需求和要求。除了要支撑业务发展之外,还要不断地考虑如何在数据库自身性能上有质的突变。

在12月北京ArchSummit全球架构师峰会上,设置了数据库架构专题,主要围绕高并发业务模式环境下,探讨对数据库从架构到体系进行优化的技术实战。

在峰会召开之前,很荣幸能采访到本专题出品人——何登成老师,他有超过13年的数据库内核研发经验,也曾多次担任阿里双11购物狂欢节的数据库总负责人,目前是阿里巴巴数据库内核研发团队负责人,带领团队打造集高性能、低成本、分布式、持续可用于一体的下一代数据库系统,为阿里的内外部业务发展赋能。在数据库的内核研发、性能优化、整体架构设计上有着丰富的经验。一起来听听他的数据库锤炼之路。(以下是采访整理)

    不神秘,但神奇的数据库内核团队  

何登成目前负责的阿里巴巴数据库内核研发团队,隶属于阿里巴巴平台技术事业群-数据库事业部。阿里巴巴数据库内核研发团队组建于年,成立初期的目标就是去IOE,早期的产品是开源MySQL的阿里巴巴分支AliSQL。使用AliSQL,团队顺利达成了去IOE的使命,同时也支持了过去多年的双11购物节。而随着阿里业务的飞速发展,以及硬件的更新换代,数据库技术无论是在学术界还是工业界都焕发出蓬勃的生命力,面临着全新的挑战。

    双11给我带来的收获和成就感  

何登成很自豪的说,刚刚过去的年双11,数据库内核团队在技术上交出了一份比较完美的答卷,秒级32.5万的交易峰值,双11高峰期的平滑交易曲线,都预示着团队真正做到了双11前CTO定下的“喝着茶过双11”的基调,值班的技术同学也很快的进入了买买买的剁手行列之中。但罗马城不是一天就建成的,双11能走到今天,何登成个人认为技术上经历了两个比较重大的突破是不可忽视的:

    从未知到已知  

年,当阿里提出双11的概念并开始做双11购物节时,无论是业务上还是技术上,没有人能够真正明白双11到底意味着什么,这是一个巨大的未知。对数据库团队来说,并不知道每个集群的压力在双11零点峰值会有多大?哪个数据库集群会最先碰到瓶颈?每个集群需要扩容多少机器?

所有的未知积累在一起,导致早期的双11经常会顾此失彼,没能给用户提供更好的使用体验。当然,作为技术人员,最不能容忍的就是光天化日、朗朗乾坤之下,竟然有黑暗的存在。为了将未知转化为已知,也诞生出了目前阿里几个重量级的产品:EagleEye(鹰眼)分布式调用跟踪系统,基于真实线上部署的全链路压测平台。

而在数据库方面,做到了所有的SQL打标、采集、追踪和智能化分析(CloudDBA);数据库监控也从早期的分钟级一路进化到现在的秒级(DBPaaS,秒级监控,能够发现毫秒级的抖动);创立并维护了阿里巴巴自己的MySQL分支AliSQL,对MySQL在性能、功能和可运维性等方面,做了大量的改进。

所有的这些,使得团队在技术上达成了一个目标,将双11从技术上的一个未知问题转变为一个已知问题,然后每年对这个已知问题进行求解。双11经历早期的阵痛之后,逐渐进入了一个良性循环的状态。

    从已知到追求极致  

做技术不是解一次方程,只有一个确切的解。为了达成同样的一个业务目标,不同的技术同学,不同技术深度和技术视野的同学,往往会给出不同的技术解决方案。

何登成说,这也许就是做技术的魅力所在。当团队将未知问题转化为已知问题之后,就在不断地思考:现有的解决方案是否是最优方案,在技术上是否有改进的空间。双11备战时间过长,能不能缩短?双11参与的技术人员过多,能不能减少?双11的硬件资源开销过大,能不能降低?有了新的问题和挑战,技术人员也有了新的舞台和方向。同样以数据库为例,近几年何登成团队在以下的几个方面不断突破自我:

1、分布式数据库X-DB。结合AliSQL和自研的高性能分布式一致性算法X-Paxos,团队推出的分布式数据库X-DB,全面兼容MySQL生态,数据强同步,自动选主,一跃成为一个达到金融级别可靠性和可用性的数据库。在今年的双11核心集群上大规模部署,提供给了业务和用户更好的可靠性和可用性体验,而且业务零改造成本。

2、数据库计算存储分离。相对于无状态的业务系统,数据库是一个强状态系统。无状态系统可以做到快速的弹性,但是数据库系统的弹性伸缩一直是一个巨大的挑战。

数据库的计算存储分离本身不难,难的是计算存储分离之后,访问存储层数据的延时增加对性能的负面影响,在阿里双11的高性能诉求下,计算存储分离一定不能以牺牲性能为代价。

在今年双11前,团队在数据库内核上做了计算存储分离的技术优化,事务处理性能相对于优化前提升了%以上,数据库计算存储分离也顺利在双11核心集群落地,数据库也具备了等同于业务系统的弹性能力,资源快速伸缩。

3、智能化的双11备战。双11备战早期是一个人力密集型的工作,何登成一直在思考,如何以技术来解决备战问题。前段时间,亚马逊在其博客上公开的OtterTune:通过机器学习自动优化DBMS文章,引发了一波数据库领域人与人工智能的大探讨。

而阿里数据库团队从更早就开始探索这条路,研发了CloudDBA平台,通过全量的数据收集,辅以机器学习的算法,今年的双11人力投入,相对于之前有了极大的降低。

从未知到已知,从已知到追求极致,阿里巴巴的数据库技术,将在追求极致的路上不断探索。

    不计其数的经历中,印象最深刻的技术选型案例  

何登成作为数据库总负责人,参与过多次阿里巴巴的双11备战。中间也经历过很多故事,到现在都记忆深刻,一一罗列需要巨大的篇幅。在此举一个小技术改进带来巨大业务价值的例子:X-KV,KV接口直接访问数据库中的数据。

“问题的起源,来自于阿里的几个数据库核心集群在双11的读压力非常大,传统的解决方案:在数据库前端搭建缓存。但是,我们的集群数据更新非常频繁,增加缓存会带来数据一致性问题,而且维护缓存的数据更新也会给系统带来极大的复杂性。

我们解决这个问题的方式比较有意思:将缓存和数据库融合在一起,通过KV接口直接访问数据库存储引擎中的数据,一来消除了数据一致性问题,二来绕过了整个数据库的SQL层,极大地提升了数据库的读能力。经过验证,通过KV接口直接读取数据库,在我们某一个数据库核心集群上,相对于SQL接口有着近5倍的性能提升。

基于验证的数据,X-KV技术顺利在阿里巴巴的数据库核心集群上落地,取得了非常大的性能提升和业务收益。同时,这也是一份数据,多种计算能力的一种探索,未来除了SQL接口、KV接口,数据库还可以以更为丰富的接口给用户提供更大的便利性。

类似的大大小小的技术优化还有很多,除了这里提到的X-KV,小的还包括热点更新优化、线程池优化、RedoBuffer优化,大的包括分布式数据库、计算存储分离、智能化诊断等。双11巨大的业务挑战,对数据库在各方面的技术实现都提出了极致的需求。”

    现代硬件体系架构和数据库内核优化之间的互推  

何登成说,硬件的发展对软件的促进这个话题可以展开为一篇非常好的综述性论文。在这里想简单表述的是数据库团队如何看待硬件发展对数据库技术带来的影响,以及应对策略。

硬件的发展究竟对数据库有什么影响?早在年,图灵奖获得者MichaelStonebraker教授就做过相关的研究,并在当年的SIGMOD会议上发表了著名的Paper:《OLTPThroughtheLookingGlass,andWhatWeFoundThere》,摘录其PaperAbstract第一段话:

OnlineTransactionProcessing(OLTP)databasesincludeasuiteoffeatures—disk-residentB-treesandheapfiles,locking-basedconcurrencycontrol,supportformulti-threading—thatwereoptimizedfor







































白癜风的初期症状表现
北京治疗白癜风医院那家比较好



转载请注明:http://www.xcqg58.com/zytd/7813.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了