在贵州举办的2019年数博会吸引了国内外各界目光,围绕大数据最新技术创新与成就,诸多学界、产业界、政界人士纷纷参与交流。在5月25日的“5G+大数据推动智慧社会数字化转型论坛”上,中科院院士梅宏发表了精彩演讲,重点谈到了大数据对计算体系带来的挑战以及应对之法。
梅宏作为大数据领域权威专家,对大数据学术研究、工具开发等方面有着深入的理解。他提到,大数据让信息技术整个体系进入一个重构的前夜,大数据的管理、处理方式正在发生深刻改变。比如,在芯片上探讨存算一体是一种可能的方向;比如,软件定义可以做很多事情;比如,软件开源+硬件开放有可能产生颠覆式机遇。
他提到了个人对于大数据的理解,谈到了三个现实中的挑战。但在挑战背后,他们的团队已经集结了最好的高校和阿里这种巨头企业的技术,做完了三批课题。未来,将追求高时效、低时延,多计算模型的融合,打造出更多核心、关键、原创的技术。
演讲原文如下,雷锋网(公众号:雷锋网)做了不改变原意的编辑与整理:
大数据导致了一个现象,就是信息技术整个体系进入一个重构前夜,实际上给了我们一个颠覆式发展的一种机遇。因为它和过去的东西确实不太一样了。
个人对大数据的理解
我想分四个方面讲。
第一,应用需求。大数据的应用需求,使得我们的计算机体系结构可能面临重构的需要。比如,过去在单机体系结构,我们知道计算机处理的方式是强调I,强调O,所以我们是以CPU的处理能力为核心,数据是围绕处理能力来走的。现在我们又出现了很多新的一些技术,比如新型存储介质、新型运算器件,它使得我们的体系结构可能就会有一定的变革。怎么变革?会不会出现以数据为核心而计算围在周边的一种结构。现在就在芯片上探讨存算一体——这是一种可能的方向。
第二,云计算模式领域化、资源泛载化,资源平台化的大态势。我们希望在服务质量提升、新型硬件管理、极致效能的追求方面做很多工作。同时我们也看到从云向边转变,这种云端融合,云边端结合的新型计算也在涌现,还有软件定义对整个世界所形成的影响。我们对数据管理、软件开发运行、数据分析等等都有很多要求,都需要很多新的东西,这与过去是不一样的。
第三,通信。5G能解决的通信问题,所以我们网络通信还需要更好的带宽、移动、泛载的发展。对于带宽的问题,移动、泛载的问题,我们看到整个信息技术体系按照过去的发展套路,实际理论上还有很多值得探讨的空间,在基础器件上也有很多探讨的空间,比如大数据组织、分析等等相关技术理论都有待突破。基础器件,高性能、高时效、高吞吐等极端化的大数据需求,使得我们需要高通量的处理芯片,需要多通道数据化、可视设备等等。
第四,软件开源,硬件开放,正在导致我们产业生态发生一些变化。实际上,颠覆式发展的机遇可能就在这个地方。
观念变化:大数据的管理、处理
管理是数据的存储、组织,而处理就是把数据并行处理为内容。
对于管理而言,比如说传统数据库、关系型数据库,它的目标是什么?应用的通用性、数据的一致性、应用需求的处理方式和响应时间等方面都不同,使得很难有一种通用管理的方式。
由于无法定义一个模式,一致性也没法保持,不能够事先定义数据模式,就没办法保持它的事务性等数据的一致性。从性能上讲,由于单一表格存储、高性能是非常难以实现的,这就使得对大规模、多表关联查询及复杂分析类型的SQL查询性能严重下降,这就是在大数据时代传统数据库做不了的事。
对于处理而言,实际上大体分成三个阶段:前大数据时代,大数据早期、现在。
早期都是关系型数据库再到后来的SQL,这是在管理层面走过的一些路径。从分析上面,比如说面向大数据分析软件、深度学习的一些发展,大体上是把前面的东西再做一个总结。当然,支撑的东西都是在计算里面的分布式处理和实时集散这些相关的概念,都是计算基础的支撑。
传统关系数据库虽然还在广泛使用,结构化数据还是我们很有用的一些东西。但是NoSQL和NewSQL都在快速发展,我们可以看到2011年的NoSQL和NewSQL的比例在增长,市场份额在扩大。也就使得我们数据库管理系统发展观念的转变,传统关系数据库一招通吃天下,变成了我们在一个领域里面个通用的平台。
大数据处理——为什么要谈这件事情?
大数据和HaDoop不管发展如何,单台计算能力都是有限的。所以我们必须要并行处理,没办法做一台计算机满足所有的处理需求。比如最早出现的HaDoop就是批处理,批处理好处是什么?吞吐率高,适用于海量预存数据的处理。其次是流处理,适用于在线型、产生速度快的时延数据处理。还有一种新的数据类型就是图处理,用巨型的图数据,比如以社交网络为代表的大量都是图数据,亿万个节点,这样大型的社交网络图怎么办。所以现在这些系统很多,都是开源,但是没有看到一个能满足所有要求的一种处理模型。
再看现在存在的问题,比如说Spark,它是一个批处理平台,它是用VP的技术处理流模式,把流式计算用时间片切开,分解成一些小批量,本质上还是批处理,只是每一批小一点。
图处理。图数据最大的问题就是并行,它本身量很大,大量的数据是冲突的,而且互相依赖性比较高,通信开销就比较大。核心的一个问题,从数学上,如果能完成一个很好的图分割,可能能够完成这种图的并行处理。大体上最终也是要追求并行处理。
所以可以看到,回顾我们前面谈到的问题,我们会说面临一些挑战。这个挑战从三个维度来说:
第一,数据处理方式和数据来源的问题。我们提到了面临数据来源有离线数据、在线、混合处理的需求,方式就出现了批处理、流处理和混合处理。从计算架构角度、系统结构的角度看,我们过去做的传统计算最大的问题是计算产生的内存要求,内存要从外存取数据,所以内外交叠浪费很多时间。
所以我们还出现了内存计算,既然这样,就可以搞一个大内存,把所有数据装在内存里面,这是一种方式。
第二,新型的架构。通过综合GPU,还有其他的TPU、数据流等等,构建新型的计算架构。
第三,数据类型本身。数据类型本身有文档等各种模式,我们目前看到的单一系统是没有办法去处理这种混合负载的,而混合负载的处理,实际上是存在着大量的需求。
大数据处理三大挑战
挑战一:怎么样高效处理各类混合负载。这是当前我们面临的一个挑战。什么叫混合处理的需求?
我举一个例子,比如说双十一成交数据的一个实时分析。当天处理的时候,它是实时的用户数据和商品数据,通过实时数据采集去弄。但实际上这两个东西对实时数据、兴趣模型到用户的行为预测有局限,如果没有离线数据支撑的话,它的准确率和效果不会那么好。所以要完成个性化推荐,必须要用到离线的数据,这就是我们的流处理和批处理同时会出现的一种场景。
现有的大数据处理系统没办法处理这种混合的处理。比如按照传统的一些实例,要统计实时销量排名前50的店铺,按照阿里的做法,对供应商表、店铺表是需要完成批处理的,而现在新流进来的实时的数据,需要进行流处理。现在比如说Flink单一作业运行的时候,只能启动批处理环境或者流处理环境其中的一个,在多任务运行的时候就需要启动相对独立的批处理和流处理环境,它的交互就出了问题,就没有办法对这种业务需求完成批和流的混合任务。
挑战二:现有的大数据带来的好处就是开源,但是HaDoop的生态系统、Spark的生态系统、Flink的生态系统都有各自的开源生态,甚至有自己的开源许可证协议。
我曾经问很多做数据的人:为什么这些东西都诞生在国际上,而不诞生在中国?如果大家现在去使用,那我们创新的机遇在哪里?
我们重点研发云计算和大数据专项的时候,就面临一个很大问题:要不要布大数据处理这样的系统?布单一的系统,它到开源东西的时候抄一个对付我怎么办?而且再拿开源的东西做一个过去的套路,也没有意思。所以我一直在琢磨有没有创新的机会。
挑战三:针对图数据,传统应用计算密集,而图应用,有较低的计算访存比,有大量随机的访存,有复杂数据的依赖,还有非结构化的分布,这是图数据的问题,和传统应用所面临的东西是不一样的。所以我们能不能探讨另一种新型的架构来提高它的高并行的处理?这就是我们谈到的各种大数据类型和计算结构匹配起来之后的一些挑战。
完成四个任务课题
针对这些挑战性的问题,国家重点研发专项里面有一个云计算和大数据。整体的布局,大体上分成四项任务,现在已经连续三年发布指南了,已经做完了三批课题。
任务一:做云计算、大数据等基础设施的关键装备。
任务二:做一些核心软件,基于云模式和数据驱动的新型软件。
任务三:做大数据分析应用和内容智能。
任务四:云端交互,人机交互。
我们在云计算平台之上,要进行各种大数据处理,而大数据的类型、存储是迥然不同的,访问模式有图数据、KV的、列的、文档的,各种各样的东西。现在,我们要构成一个处理平台是支持批处理的,也支持流处理的,还可以支持混合处理的,要完成这些任务,多种处理模式混存。混存之后,我们要支持人工智能应用,要支持交互式的数据分析,进一步支持各种应用。
传统的定制问题、系统选型难,不同处理系统融合难,系统调优难,维护难、多系统之间数据传输也导致它的效率是比较低的——这就是我们的大环境面临的问题。
所以我们想做一件事,就是希望通过软件定义的方式,通过大数据处理管理平台,让它的功能实现可编程,可以面向不同的需求进行定制。
做“最厉害”的武器:原创的技术
多少年前,古龙小说里面有一个最厉害的武器。有一个穿长衫的黑衣人,走到哪里都拎着一个箱子,他离开这个场景的时候,不管多厉害的武器,多高的武功,最后就败在他的手下。
我还记得这个箱子,这个箱子里面实际上就是各种武器的配件,他离场的时候,根据对手的武器临时组合成一个克敌制胜的东西。我们就想达到这么一个箱子,这个箱子能不能满足不同应用的需求,就是应用的定制。比如阿里双十一的应用场景,它就涉及到这样的东西,就确实需要这种混合处理,从它的存储、计算、应用。我们希望资源调度优化,进一步上去依托数据多种需求,多模态存储,形成一套引擎,能够高效的支撑多种处理模式,这就是当初设想的一个东西。
这个项目是怎么做的呢?就是大数据系统软件国家工程实验室在做。这个项目里面有北京理工大学、中国人民大学、北京大学、复旦大学、阿里巴巴集团这一些参与者,在实验室的框架之下,我们就共同去做这么一个项目。
项目的目标,是希望研究和开发面向新型的、多处理模型融合架构的一个高时效、可扩展的新一代大数据分析支撑系统和工具平台。我们还是希望站在巨人的肩膀上消化吸收,高时效、可扩展就是它的关键词,希望基于软件定义的新型的自适应融合架构。一套引擎、一套数据、一套资源来支撑、满足不同的处理模型的需求,进一步去支撑大数据分析和智能的应用。
这是更为具体的一些描述,我们要追求高时效、低时延,多计算模型的融合,自适应的优化;在可扩展方面,面向云计算可伸缩的调整,处理平台跨数据中心的扩展,机器学习模型的扩展,还有一些具体的关键技术。
事情能不能做得成,就要靠我们团队的努力。我想跟各位说,由于这种应用需求,我始终觉得中国的IT还存在很大的问题。毕竟,我们很多场合不在应用第一线,很多问题都不是我们发现的。
我记得,已经过去五到十年,我们依然在谈的问题就是海量:我人多,我数据多。所以,我们没有原始的创新,我们一直在寻求这样原始创新,就是得发现真正的问题在哪里,这是我们最大的一个欠缺。
这件事情我觉得也没有多少了不起,但是我想留下一支做系统软件的队伍做这件事情,我们希望通过消化、吸收,打碎并重新组合,形成一种集成创新。(雷锋网雷锋网)