编译|ailleurs
作者|陈彩娴
李飞飞,阿里巴巴集团副总裁、阿里云数据库产品事业部负责人,也是达摩院的数据库首席科学家,任达摩院数据库和存储研究实验室的主任。他在加入阿里巴巴之前是犹他大学计算学院的教授。他的研究兴趣包括数据库系统、大规模数据管理、数据安全、数据分析以及用于系统性能和监控的机器学习方法。同时,他还是acm transactions on database systems(acm tods)期刊的副主编,曾多次担任acm sigmod和acm sigkdd的高级区域主席,并担任过各种领导角色(如总联合主席)和多个acm sigmod会议的项目委员会成员。
近日,acm对李飞飞进行了一次访谈,内容主要涉及李飞飞团队在阿里巴巴云基础建设方面的目标规划、云原生数据库系统的运用、对漫游连接算法的介绍,以及机器学习技术在电子商务中的巨大影响。最后,李飞飞还谈到了他关于学界与业界工作差异的感悟。
本文将采访编译如下:
acm:作为阿里巴巴数据库首席科学家,您关于米乐m6平台云基础设施建设的总体目标是什么?
李飞飞:我们团队的主要目标是为阿里巴巴自身的业务运营和阿里云上企业客户构建尖端的、世界级的云原生数据库系统,例如我们的云原生关系型数据库polardb和云原生数据仓库analyticdb(adb)。
在云计算时代,由于对弹性、高可用性、可扩展性的需求以及来自不同业务领域的应用程序对按需使用的需求增长,云原生数据库变得越来越重要。云应用程序的这些需求为云原生数据库提供了新的机会,而传统的企业内部数据库系统无法完全满足这些需求。通过探索共享存储和完全共享的架构(shared-everything architecture),云原生数据库利用底层云基础设施提供的资源池,将计算与存储分离,从而获得了出色的弹性和高可用性。对于要求水平扩展的高并发工作负载,云原生数据库可以进一步利用一个无共享层(shared-nothing layer)来提供分布式查询和事务处理能力。我们的最终目标,为我们的业务运营和云客户提供经济高效、易于使用且高度可靠的数据库服务。
acm:在阿里巴巴双11全球购物节期间,该网站的流量在几秒钟内可激增150倍。您的团队开发了哪些工具来处理这类网站流量波动?您如何看待这些技术在将来的发展趋势?
李飞飞:如上所述,在应对这样的应用场景时,成功的关键是通过底层数据库系统产生极高的弹性和高可用性。一眨眼间,流量就会突然激增,可操作的数据库系统必须以经济高效的方式来抵御这种海啸般的「袭击」。对于一个典型的、传统的本地数据库系统来说,必须要提前提供大量的硬件资源,以满足峰值时的工作负载。而一旦高峰流量在短时间内减少,就可能会导致成本高昂和资源浪费。
相比之下,云原生数据库系统能够通过探索共享存储和完全共享的架构,以按需的方式来进行自适应地、弹性地分配和释放资源。计算和存储的解耦,以及各种资源(计算机和存储资源)的共享,使得云原生数据库系统具有自适应性。我们还利用分布式查询和事务处理,通过水平分区来提供进一步的可伸缩性,从而满足高并发性的需求。
此外,raft或paxos等分布式共识协议得到了扩展和增强,使得可用区(available zone,az)内部和可用区之间都具有高可用性,从而可以在不担心数据丢失和业务停机或中断的情况下处理任何故障。同时,利用软硬件协同设计来探索rdma、nvme等新硬件和dpdk等内核旁路协议所具有的加速和优化作用。
htap(hybrid transaction and analytical processing,混合事务和分析处理)是当今云原生数据库系统追求的另外一个趋势,它的目标是在双11购物节时,为集群用户的数据处理和分析需求提供一站式米乐m6平台的解决方案。
最后,很重要的一点是,自驱动数据库(又称“自治数据库”)技术通过将机器学习技术与云原生编排组件(如kubernetes)和各种数据库模块(如慢sql诊断、索引推荐)相结合,简化了云设施上云原生数据库的部署、维护和操作。例如,我们在阿里云建立了das(database autonomy service,数据库自治服务),为双11运营和云客户提供服务,以确保我们的系统尽可能具有自我修复、自我调整和自适应能力。
acm:您最著名的研究工作之一“wander join: online aggregation via random walks”在2016年第35届acm sigmod会议上获得了最佳论文奖。在这项工作中,您和您的合作者提出了一种新的方法来处理复杂连接的在线查询。这篇论文的主要观点是什么?目前在查询处理领域有哪些创新性探索?
李飞飞:查询处理和优化是数据库系统最关键的组成部分之一。在这方面,join(一种用来从多表数据中查询和访问数据的sql子句)是最常见但也最昂贵的数据库操作。采样提供的估测比计算精确结果要快得多,这对于查询处理和优化任务来说非常重要。但是用join来进行采样是很困难的,这是近20年以来数据库领域一直面临的挑战。在这项工作中,我们引入了新的数据采样技术,以实现近似和交互式查询处理(比如,提供在线的近似结果,并对结果的质量进行持续地改进)。在线估计器的质量会随着时间的推移而提高,最终它会得到准确的结果。这对于大数据分析和查询处理而言非常具有吸引力,因为用户可以根据自己的意愿来发出查询需求,并立即看到查询结果,而且输出的结果质量会逐渐提高,直到找到准确的结果为止(如果需要的话);否则用户必须等待,不知道什么时候才能获得最终的准确结果。它们还可用于查询优化(例如,估计复杂查询项目的中间查询结果的基数)。
本文提出的漫游连接算法通过在连接图上随机游走,巧妙地实现了采样。连接图不是具体化的,而只是通过仔细的加权采样过程和估计中的偏差调整来进行概念上的探索。这使得漫游连接算法在数量级上优于现有的方法,这大大推动了最先进技术的发展。正如我们在2017年acm sigmod会议上被评为“研究亮点”的一篇论文中所说的,「在数据库管理系统的研究历史中,有大量的研究都曾利用采样以一种比精确计算更快的速度来估计查询结果。本文提出了一种高效的替代方案,实现了比以前最先进的技术还要更好的计算和统计特性;通过postgres中的一种开源实现来进行的实验令人信服地证明了这一点」。
漫游连接产生的是独立但不均匀的样本;但有时候,更复杂的分析操作(机器学习方法,比如支持向量机)需要的是独立且均匀的随机样本。我们在sigmod'18中的后续工作展示了如何获得复杂连接的真正随机样本。这项研究还带来了一些领域的创新,比如基于学习的查询处理和优化方法。这些想法在“deepdb: learn from data, not from queries!” 以及“blinkml: efficient maximum likelihood estimation with probabilistic guarantees”等论文中都有所概述。我们这项工作还启发了真实系统中的实际运用和设计问题。
acm:机器学习方法是如何改变阿里巴巴等大型电子商务公司的?最重要的改变方式是什么?
李飞飞:机器学习在现代的进步已经对包括阿里巴巴在内的更多的组织和社会产生了根本性和持久的影响。举个简单的例子,阿里巴巴电子商务网站和应用程序中的推荐框架,要依赖经过精心设计和微调的深度学习模型,从而为浏览网站和应用程序的客户提供更有效的商品匹配。当然,机器学习的影响不仅仅体现在推荐方面。在阿里巴巴数据中心的运营中,我们探索并利用机器学习技术构建了aiops这种智能监控和协调工具,以提高数据中心运营的效率和有效性。还有许多其他的场景和例子,也都可以表明机器学习和人工智能方法的变革性影响,它们越来越成为许多系统中的关键构建组件,包括上面提到的云原生数据库系统(例如使云原生数据库系统能够进行自我调整)。
acm:在加入阿里巴巴之前,您在美国犹他大学担任教授。与学术界相比,在工业界工作的最显著差异是什么?
李飞飞:在犹他大学计算机学院任职期间,我在计算机科学领域的研究和工程生涯的增长和丰富是巨大且难以形容的。那里拥有世界上最好的计算机教育和研究项目之一。我永远感谢我所在的学院和学校。不过,在阿里巴巴这样一家伟大的公司工作,无疑也为我理解计算机科学提供了一个不同的、丰富的视角,这既是一门技术型学科,也是一个日益重要的商业领域。为一家公司工作意味着你得总是把业务和客户需求排在第一位,必须专注于由业务驱动的实际客户需求。这并不一定意味着你可以没有长期的规划目标,但这些目标必须非常集中,而且要对具有精心设计、明确阐述的战略计划和商业价值的实际应用具有价值。
这与在学术界工作截然不同,在学术界,首要任务并不是创造商业价值,而是创造智力价值。最终目标往往是探索一个未解决的问题或挑战,即使这样的努力最终只是一种智力练习。但正是通过追求这种好奇心,才得以实现创新性突破,工程上的努力最终能够使新技术的采用在实践中普及和扩展。
归根结底,无论是在学术界还是在工业界,这一切都是在为我们整个社会和文明的良好运行创造价值,为之做出贡献。从我目前的角度来看,我相信我在学术界和工业界的职业生涯已经得到了相互补充和丰富了!
原文链接:https://www.acm.org/articles/people-of-acm/2022/feifei-li
雷峰网(公众号:雷峰网)