雷锋网 AI 科技评论消息,11 月 8 日,美国计算机协会(ACM)公布 2018 年度杰出科学家名单,全球数据库领域领军人物、达摩院数据库首席科学家、阿里巴巴数据库事业部负责人李飞飞教授入选。
ACM 是国际上历史最悠久、规模最大、最权威的计算机专业学会,著名的图灵奖即由该组织评定颁布。ACM 杰出科学家必须是对计算机领域做出重大成就和影响的研究人员。
李飞飞,犹他大学计算机系终身正教授。曾获 ACM、IEEE、Visa、Google、HP等多个奖项,获 IEEE ICDE 2014 10 年最有影响力论文奖、ACM SIGMOD 2016 最佳论文奖、ACM SIGMOD 2015 最佳系统演示奖、IEEE ICDE 2004 最佳论文奖、美国 NSF Career Award、中国基金委海外重点研发奖等。担任多个国际一流学术期刊和学术会议的编委、主席。
李飞飞教授于今年五月正式加盟阿里巴巴达摩院,带领团队投入到具有自主知识产权的数据库系统研究当中,包括新一代分布式数据库、非结构化数据管理、数据安全、智能化数据库等关键技术,并致力于将中国数据库技术水平提升至国际前沿,打破寡头企业对数据库核心技术的垄断。
目前,李飞飞教授带领的阿里巴巴数据库事业部所研发的新一代分布式数据库系统,支撑了阿里巴巴集团的复杂业务、海量数据和双11交易洪峰的挑战,已经被应用于多个城市的智能城市交通网络管理,实现城市内数千万智能终端数据的瞬间调取与分析。此外,中国气象的国家气象大数据分析平台也应用其技术,实现了毫秒级的气象数据查询与分析,该数据库存储了1957年建站以来,6万多气象站的分钟级数据
雷锋网 AI 科技评论借着这一契机,第一时间对他进行专访。采访中,李飞飞教授谈到加入达摩院是一个迎接大规模挑战的机会,也是形成工业和科研联动的机会,他也对雷锋网介绍了阿里自研并计划近期商业化的新一代分布式数据库系统,更讲解了数据库系统的问题如何理解、有何展望。以下为访谈实录,有删减。
研究之路
这次获得 ACM 杰出科学家荣誉,有什么获奖感言与大家分享?
(笑)怎么讲呢?我比较喜欢脚踏实地搞技术,一步一步。获得 ACM 杰出科学家荣誉称号,当然还是非常高兴的,这是对我过去成绩的肯定,也是对我这么多年来做数据库系统的肯定。
从公司层面上说,加入阿里之后获得这个奖项可以帮助阿里、包括达摩院打造更好的技术品牌形象,往大的方向说,可以帮中国的数据库领域去扩大一些宣传,争取更多的声音,我觉得非常高兴。
您是什么时候开始对数据库研究产生兴趣?
读本科的时候。当时我上了一门课数据库课程,做了一个小项目,后面就用到了数据库系统,用了以后发现这个系统挺有意思,因为是否建 index,或者数据怎么分片对性能会产生很大的影响。当时我把数据库系统当做黑盒子来调参,发现调节过程中,性能等各方面会产生很大的变化。我对黑盒子是怎么造就的产生了很大的兴趣,所以就决定去打开这个系统。打开以后,我发现这里面非常复杂,涉及到事务处理、查询优化器、存储引擎,还有各种不同的数据,另外还有在高可用、分布式上的挑战,越深入研究,越发现这个领域非常深。
在这些年的研究中,有什么心得体会可以与大家分享?
我在这些年的求学、教学经历中,以及与 Google、Facebook、Visa等国内外企业的合作中,最深刻的一点体会就是做技术一定要脚踏实地、实事求是,不要为一些短期目标去放弃自己长期的坚持和追求。
核心技术突破非常具有挑战性,必须持之以恒。这有时候很难,因为在技术上会涉及到一些名和利,也要去追求一些短、平、快的东西,这些都能理解,但是一定要有长期的坚持,尤其是我们做系统研究的,更是要有一个长久的预定目标,然后一步一步去实现。
科研并不是说能够在很短的时间内就产生比较大的突破,它是在很多人努力的情况下,慢慢去摸索、去积累,到一定程度以后,就会产生突破。
加入阿里
这次达摩院引入了一大批水平非常高的专家和学者,您当时加入达摩院的契机是什么?
主要有以下几点:
第一,我非常认可阿里的技术品牌形象,它对技术的投入非常认真,而且它的目标就是要做世界一流的技术。可能在大多数百姓眼中,阿里是一个商业帝国,在商业上非常成功,但实际上,我觉得在过去几年阿里的转型中,它所承载技术的厚度和深度,已经发展得非常好了,而且慢慢也成为一家以技术为第一驱动力的公司。
第二,阿里的业务非常复杂,这会带来一个好处,我们能够快速验证和落地现有的技术,而不是说空中楼阁,没有应用、没有数据。现在大数据、人工智能还有系统方向的发展越来越复杂,都是高并发、分布式这种大规模的体系,我觉得只有少数的一些企业,比如阿里,或 Google 才有这种规模去探索一些技术上的挑战。这也是我加入阿里的另外一个诉求,能够有这种真正的大规模的系统的场景、数据以及业务来驱动技术发展。
最后一点是达摩院本身的品牌,这里汇聚了一帮非常高水平的研究人员,包括达摩院院长及阿里巴巴集团CTO张建锋,他在阿里技术体系下一步步成长起来,带领达摩院吸引了一大批世界一流的科学家。他的作风非常接地气,也非常能成事,具有很强的感染力和影响力。
您是什么时候开始考虑进入工业界发展的?
回到我前面说的,我们做系统,尤其是数据库系统,发展到今天,学术界能够做到的规模和工业界的规模存在一定差异。
工业界管理的系统节点都是以千来计算,甚至上万台,在学术界,因为受限于资源、应用还有数据,能搭上百个节点就已经很不错了。
工业界有一手的数据和海量的应用,像阿里双 11 这种场景,在学术界你是没办法去模拟这种规模和挑战的。
这时候工业界对我来说就变得非常有吸引力。之前与谷歌、微软合作加强了我对工业界的了解,阿里接触我以后,我也挺认可他们做的事情。从业务上来说,从技术的角度来看,阿里的规模和挑战很大,这点非常吸引人。
您于今年 5 月加入达摩院,您当时在工作上的规划以及研究上的想法是什么?
阿里给了我一个很好的平台,达摩院实验室可以支撑我做一些科研上的探索,另外我下面还有数据库和存储两个事业部,这是两个工程团队。
一方面,我可以有实验室来做一些科研上的探索,同时又有工程团队来给我空间和这个舞台,让我去带领大家去真正去做系统的研发,还有运维等工作。两边可以很好地互动起来,可以将科研上的东西很快地去落地到真正的系统里,系统面临的挑战又可以很快去反馈,来推导我们科研到底应该去做什么样的问题。这两方面形成了一个很好的联动。
这是我加入阿里以后,体会非常深的一点。
这五个月的工作和您当初设想的大体一致?
基本上一致,既有科研上的前沿挑战,但同时又不是那种空中楼阁。
我现在 1/3 的时间在看科研上最新的技术挑战,1/3 的时间和工程团队做一些一线的研发工作,这完全是工程上系统化的东西,还有 1/3 的时间去做一些运维相关的工作。
阿里和其他一些公司不太一样,它的技术产品既通过阿里云去输出到第三方,服务国内的大中小企业,包括国际上的一些企业,同时又支撑了自己的内部业务,比如淘宝、天猫、优酷等,它的业务线非常复杂,所以我们做的产品,很快就要在公司内部落地,落地以后在运行的过程中又有运维的压力。所以实际上这是一整套循环。
新的挑战
与之前在大学的教学相比,阿里的工作带来的挑战集中在哪些方面?
第一,阿里这种技术团队,既有研发任务,又有运维任务。以前在学校的研究不会涉及到运维,但在阿里就不一样,阿里是为无数个企业用户提供支持和服务的,很多业务方在用我们的技术产品,出了问题之后自然而然要你去帮他解决。
安全生产对我们来说是非常大的一个挑战,一旦我们的数据库系统出现问题,对线上的淘宝、天猫,线下的盒马鲜生都会产生很大影响。
第二,我来阿里之后,下属的实验室团队和工程团队有四百人左右的规模,对于我这样一个技术背景的人来说,在管理上也会有一些挑战。
第三,阿里的文化讲究简单真诚,如何快速融入到这种文化里,这对每个人都是一种挑战。
您所在团队研发的新一代分布式的数据库系统支撑着阿里的很多场景,您能更多地介绍一下这个系统吗?
这个系统在我们内部的代号叫 X-DB,它是阿里巴巴从大概 16 年开始做的一个分布式数据系统。为什么要做分布式?这源于阿里的业务场景,像双 11 这种高并发场景下,对数据库后台带来的冲击是非常高的,传统的单机根本解决不了这个问题;而且数据量非常大,数据规模数据形态非常复杂,所以必须用分布式的方法把负荷分布到多个集群,多个节点上面去。
从 16 年开始,阿里自研 X-DB 分布式系统,发展到今天,它已经能够支撑阿里巴巴几乎所有的业务,像淘宝、天猫,还有饿了么、优酷。
在您进入阿里之后,针对于这一系统,您做了哪些针对性的改进?
我主要做了如下几点调整:
第一,X-DB 前期的发展主要是以支撑阿里巴巴内部的业务为标准,所以会定制化、与业务相关。我们后续的目标是要把它打造成标准化、产品化的通用数据库系统。
第二,在高并发和高可用的情况下,我们希望做得更优化,这得有一些核心的技术手段去保障。
第三,在智能化运维方面,传统的数据库系统调优,可能要大量依赖人力资源和经验,我们现在希望能够用机器学习的方法去根据系统的负载,自动地学出负载的模式和特征,然后进行系统参数调优。
另外,我们现在开始布局数据库安全,希望我们的数据库能够提供数据安全特征,比如把数据加密以后再存到数据库中,然后通过不解密的方法就能够对数据库进行查询和操作。
现在计算机视觉、自然语言处理等人工智能相关领域特别火,这样会对数据库方面的人才储备产生影响吗?
我以前在高校做教授,包括现在我在上海交大致远学院的 ACM 班当讲席教授,那里的学生都是非常优秀的计算机本科学生,我看到这几年有很多学生都去就读机器学习相关方向,比如计算机视觉、自然语言处理、语音识别。
我觉得有几方面的原因。
第一,与人工智能结合的方向都是非常偏应用化的场景,比如图片识别、自然语言理解、语音识别,老百姓也能看得见,摸得着,能马上能够理解这些成果,但是计算机领域的三大基础软件——编译器系统、操作系统、数据库系统,对大多数人来讲,是系统底层,是看不见摸不着的。即使你做了很多,大家也很难理解这到底有什么应用。这样不管是学生还是专业人士,都很难吸引来这个领域发展。
第二,人工智能、机器学习确实是一个很重要的方向,而且现在确实有一些最根本的基础性的问题还没有被解决。从科研的角度来讲,这些研究也确实非常吸引人。
很多时候大家会觉得系统就是个工程问题,实际上做深了以后,它也会有许多科研上的挑战,很吸引人。
从这两方面来讲,人工智能现在非常火也是有其原因的,对系统方面的人才确实产生了一些冲击。我也希望能够通过阿里的平台,或者通过我们与高校的合作,大家一起去扩大底层系统的宣传力和品牌形象,吸引到更多的人来做这些底层的系统。上层是应用,底层系统是基础。
目前您的团队和哪些高校有着合作关系?
我们和高校有挺多合作,国内像比如清华、北大、浙大、上海交大、华东师范大学、香港科技大学、中科院等。国外有新加坡国立大学、新加坡南洋理工大学,我们目前都有科研项目在合作。
后续我们也希望通过阿里的平台能够更宽、更深地去和国内的高校合作。
我觉得和高校合作有两个意义,第一,这有一些立竿见影的效果,利用高校的智力资源帮我们去解决一些业务上、技术上的核心挑战。第二,更重要的是长期的投资过程,阿里作为这么大的一个经济体,它必须担当起对应的社会责任感,要考虑社会效益,与高校的合作是长期的,值得去投入。培养出来的这些学生,他们毕业后也是全社会非常丰富的人力资源储备。
您前面提到系统做深之后,也会碰到一些就比较难的挑战,能具体谈谈吗?
系统是一个大规模、工程化的东西,里面的科研点非常多,但是有时候会有一种「老虎吃天,无从下爪」那种感觉。现在很火的机器学习的很多应用,计算机视觉中的问题,可能已经抽象得非常精确了。我们的大脑思维方式很容易去理解这种抽象化的问题,可以快速简单地描述清楚。
但系统不是这样,数据库系统到底有什么挑战?数据库系统到底是什么?很难用一两句话讲清楚。因为它是一个复杂的工程,我觉得这是最大的一个挑战。
换种方式来讲,系统的上手过程非常漫长,不是简单地掌握了一两个核心的点或者工具,你就可以去突破,这牵扯到方方面面。
具体到工程的时候,比如你遇到一个 bug,或者去调优、调参时,很多时候都是牵一发而动全身,系统的模块和模块之间有很强的关联性。调了这个点之后,可能这个点被优化了,但其他的一个点就会被弱化,从整个系统的角度来讲,很难讲这到底是好还是坏。
这和应用相关的一些领域很不一样,系统很难被定性优劣。举个例子,比如修高速公路,可能有人会想高速公路肯定是车道越多越好,五车道肯定比三车道要好,但实际上你再仔细想想,放在一个更大的系统里面看,可真不是这样,你修的车道可能会占用旁边的地,比如商业用地、工业用地或者农业用地,那这又会带来连锁反应。系统的挑战就在于此,它不是一个孤立的问题,它是一个连锁问题,一环扣一环。这是我这么多年以来,对系统的研究最深的体会。
数据库研究所牵涉到的跨领域知识点有哪些?
举个例子,说比如说我们的平台上面跑了几千或者几万个数据库实例。那么传统的方法就是 DBA(数据库管理员)一个一个去看,这个实例我应该怎么调,它的工作负载是怎么变化的。这显然是不具备可拓展性的。
那在固定资源情况下,即总的机器数、总的 CPU 核心数目、总的内存容量一定的情况下,我们工作负载到了每个机器上,那么每个实例的数据库负载是随着时间有变化的,我们要怎么样在有限的资源内去做更好的调优。比如说这个数据库的实例现在是它的峰值,那我们就应该把更多的 CPU 核心或更多的内存分配到这个数据库的实例上去。但这个实例不可能永远控制这么多资源,那么当它的负载结束以后,我们能不能够快速的判断出来,而且自动的把刚才分配给他的资源快速地分配到其他的数据库实例上去。这就是一个自动调优的一个过程,牵扯到运筹学统计还有机器学习的方法。
数据库系统再举个例子,又跟硬件非常有关系。我原来在美国读博士的时候,一开始接触系统就学到一句话,当时就把它硬背下来,现在我越来越深刻地理解了。A system is about efficient and safe use of limited resources,拿中文来讲,"系统就是高效安全地使用有限的资源"。
听起来好像平淡无奇的一句话,但实际上这里面的水非常深。
首先我们的硬件资源有限,如果你有无限的 CPU ,有无限的核,有无限的内存,那系统随便你怎么处理,可能都还不错,性能也挺好的。
但问题是我们是有限的资源,也有资金上的限制。在有限资源下做你的事情,第一要高效,第二要可靠。这就牵扯到对硬件的理解,比如说 SSD 是怎么运作的,加密的数据要怎么利用安全硬件,怎么样去做 CPU、FPGA 的加速。需要对硬件有很深刻的理解,才能够写出来高效的软件系统。
所以现在另外一个点就是软硬件一体化,我举了以上两个例子来回答你刚才的问题,数据库系统它牵涉的面还是比较多的。
(完)