开发者学堂课程【PAL 平台学习路线:机器学习入门到应用:湖仓一体:大数据平台的下一代架构-贾扬清】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/855/detail/14130
湖仓一体:大数据平台的下一代架构-贾扬清
内容介绍:
一、介绍贾扬清
二、贾扬清发言
三、数据湖
四、数据仓库
五、湖仓一体
六、分享
七、对话
一、介绍贾扬清
这位主讲人,他是深度学习领域的风云人物,他不到30岁。就成为著名框架 Caffe 的核心作者。有人如此形容:学物理绕不开牛顿,搞深度学习绕不开他,他是谁呢?他就是贾扬清。
1.邀请目的
2019年初,贾扬清加入阿里巴巴,带领大数据计算和机器学习平台,并出任阿里巴巴开源技术委员会负责人,请他告诉我们阿里巴巴大数据有什么样的重磅升级。
二、贾扬清发言
1.引出问题
今天应用的数据化和智能化已经深入人心,阿里巴巴从电商到云一路走来,通过大数据平台的建设,支撑了像双十一和城市大脑那么大体量的业务,在这些耳熟能详的故事背后,我们在大数据技术产品和方法论上面也在一直努力钻研。那么怎么样存储和分析数据,怎么样从数据中提取出规律和价值?
2.四个阶段
这是计算机领域的一个核心问题。在这个问题上,业界的思考经历了四个阶段。
(1)第一个阶段
第一个阶段是数据库时代。
①数据库的概念最早诞生于60年代。
②今天我们所熟知的关系型数据库出现在70年代。业界呈现了很多优秀的关系型数据库。如 Oracle SQL Server、MySQL PostgreSQL 等等,这些成为主流计算机系统中不可或缺的组成部分。
③20世纪90年代以后,数据量越来越大,应用越来越多。我们也开始考虑怎么样解决数据当中的新的问题。比如说三个“V”,数据的体量 Volume ,数据的速度 Velocity 和数据的多样性 Variety 。
(2)第二个阶段
这些问题开始推动大数据的技术进入探索期。
作为典型代表的是,谷歌在2004年前后发表了老三篇。GFS MapReduce 和 BigTable。这三篇经典的论文,奠定了这个时期的基本方法论。实现了分布式的存储、计算和服务等等这一系列的大数据能力。
(3)第三个阶段
21世纪第二个十年,随着互联网手机和移动的普及。大数据计算开始进入了蓬勃发展的阶段。除了各种大数据的企业解决方案之外,我们也看到开源领域的大量的蓬勃发展。例如,以 Hadoop HDFS 体系为代表的开放的存储元数据的能力,以及上面的多种计算引擎。Hive Spark Flink Presto 非常多的企业可以通过这些开源开放的原子能力,搭建出一个自己的大数据工程体系。
(4)第四个阶段
今天我们认为大数据已经进入了普及期。每一个行业都会需要建立自己的数据中台,从中挖掘出数据的价值,推动业务的决策。
3.数据湖和数据仓库
新的大数据方法论应该是怎么样的?将它归纳成两个体系。数据湖和数据仓库。以及他们之间的有机结合。
三、数据湖
1.概念
提到大数据平台的时候,经常会考虑的是像表格这样的一个结构化的数据。但今天数据的形态多种多样。拿深度学习举例子,图像,视频,语音,自然语言。发现这些深度学习的算法构建都会涉及到所谓非结构化的数据。那么今天遇到的问题是需要将大量的结构化,半结构化和非结构化的数据迅速地聚拢在一起。我们很形象的将它称为数据湖。
2.产品描述
第一个向大家发布的系列产品,就是在阿里云上面如何实现简单、快捷、高效的数据库体系。存得好数据,管得好数据,用得好数据,
(1)数据湖存储 OSS
在最底层通过阿里云对象存储 OSS ,作为数据库存储。针对大数据的场景可以提供分角色的 QOS ,大文件的顺势 Rename,加速缓存等等这一系列的能力。让上层的计算任务更加灵活,更加快速。OSS 可以开放对接各类的计算引擎,并且支持数据冷热全生命周期管理,打破数据孤岛的问题。
(2)数据湖建构建这样 Data Lake Formation
在 OSS 上面,我们今天发重磅发布的 Data Lake Formation 数据湖建构建这样一个产品可以提供这样一个通用存储上的两个核心的功能。
①第一是统一的数据加速服务。可以让 OSS 的存储像本地一样高效。
②第二个是可以提供统一的元数据服务,让所有的上层的引擎都能够更加简单地理解、对接和了解数据的格式。方法方便多样化的上层的分析,计算和处理。
③当然,数据存储的目的最后还是为了计算。那么 E-MayReduce 作为开源开放标准的平台,可以给湖上的计算需求提供灵活和高效的大数据的计算能力。
一方面无论是离线的计算 Spark,交互式的查询 Presto,还是流计算 Flink,还是机器学习的应用。EMR 都可以实现一个灵活的底座。
另一方面,通过存储与计算分离的架构以及引擎的全面容器化。我们可以实现极致的弹性。让湖上的计算变得更加高效和更加经济。
四、数据仓库
我们再回过头来说数仓。十年前阿巴巴依就已经开始在数据仓库服务上面不断的深耕。
1.概念
说到数仓,大家往往都会觉得说构建是一个数仓是一个非常非常困难的事情。只有超大公司才能付得起这个钱。其实这个想法不对,建设数仓可以像买一套 Office 非常简单,七年前阿里巴巴自研的数据仓库 MaxCompute。
(1)MaxCompute
在阿里云上面正式地提供的服务。那么我想跟大家透露一个数据,MaxCompute 今天最多的一类用户是中小企业。因为企业不需要担心资源的体量。不需要担心运维,只需要关注自身的一个核心的数据业务。通过 MaxCompute 可以一键式地建立自己的数据仓库。因为它简单免运维、容易扩展,同时完全兼容像 Hive 这样大数据的开放标准。今天数仓也在不断地进化当中,以前我们说数仓数据的时候说到 TP 和 AP ,TP 是交易系统,AP 是数仓。今天我们说数仓担负了比 AP 更多的任务。分析这个概念本身开始更加的多样化,比如像传统的离线分析,实时的流式分析。以及越来越多的在线分析和检查,同时分析和数据聚合的一个结果,我们往往还要在做在线的数据服务。
(2)Hologres
根据数仓实时化和数据服务的需求,我们开发了交互式分析引擎 Hologres,在互联网金融等等场景下面 Hologres 可以支持上亿级别的实时的数据写入和服务。同时实现亚秒级的交互式的查询速度,那么今天我们第二个向大家发布的产品是自研数仓。MaxCompute 的全面升级。
(3)离线实时一体化数据仓库
从以前关注于 ETL 的数仓能力出发。今天我们可以将传统的离线引擎 SQL Engine 和实时引擎 Hologres 实现无缝的结合。在同一套数仓存储的基础上面,为用户提供离线、实时、分析和服务一体化的数据仓库服务。我们来看一下 MaxCompute 的核心性能。在大数据领域有一个综合了传统分析和机器学习等算模式的一个榜单叫 TPCx-BigBench。
(4)总体发展
作为技术深耕的自研数仓 MaxCompute 已经连续两年在这个榜单上蝉联冠军。更加重要的是,我们每年都要要求不断地超越自己。不断的刷新世界纪录。
以30TB 数据量的榜单为例,那么咱们先看一下计算性能。
①计算性能
2019年的数据量是6427.86QPM。2020年我们的性能又提升了50%以上。再来看一下成本,
②计算成本
2019年我们的数据是169.76$/QPM。2020年我们的成本下降了30%以上。同时在100 TB 数据量的排行榜上面,MaxCompute 的成本也在持续的下降,去年下降了40%。
五、湖仓一体
1.提出背景
在大数据平台建设的方法体系中,数据湖和数据仓库在企业发展的不同时期,发挥着不同的价值。一个企业在业务初创的时候,它的数据规模比较小,它的数据形态在迅速地试错和变化,灵活性是这个时期的重点。那么这个时候使用数据湖可以快速的搭建起技术平台支持业务,来满足企业快速发展阶段对于数据存储和计算的需要。那么同时随着业务规模逐渐增大,数据的形态变得更加的成熟,这个时候降本增效的需求又会变得越来越高,那么这个时候企业开始逐渐地使用数据仓库来更好的优化数据,治理数据和使用数据,尤其在大规模 BI 的场景当中,针对高度结合的数据进行处理与分析,这个时候数据仓库这样一个严格的数据体系就能发挥重要的作用。这个时候我们就会遇到这一组两条曲线的取舍问题,更难的是一个企业并不是只有一组两条曲线,往往有了多种业务不同的业务,因为成熟度又会处于这个曲线当中的不同的位置,那么对于一个企业来说,怎么样在这一样一个纷繁复杂的需求当中,同时享受到数据湖的灵活性以及数据仓库的成长性。
(1)悲观主义
那么悲观主义者可能会说数据仓库向左,数据湖向右。听起来稍微有一些分辨扬镳的感觉,其实透过现象看本质,我们可以看到种方式有各自的优势和不足。比如说数据仓库的数据体系。清晰、严格,但他灵活性较低,数据湖拥有非常好的灵活性,但它的数据体系比较松散。数据仓库治理容易,数据湖治理困难,数据仓库支持的数据结构种类比较单一。数据湖支持的种类丰富,包罗万象。数据仓库更加适合成熟数据的分析与处理,数据湖更加适合易购数据的价值挖掘。
(2)乐观主义
乐观主义者会说,如果把数据仓库和数据湖的优势融合在一起,我们的问题是否就能迎刃而解了呢?这是我们今天在数据湖和数据仓两个产品体系的基础上面的核心的方法论,叫湖仓一体。
2.架构
总体而言,湖仓一体要实现的是技术站的各个层面的融合,那么简单看一下架构。要实现数据湖和数据仓之间的无缝流转,我们就需要在不同的层面上面来进行打通。
(1)异构集群
在底层的计算资源上面,要实现异构的集群之间的网络打通。
(2)存储层
在中间存储层上面要实现数仓和数据湖之间的数据的智能缓存,加速和互访。
(3)计算层
在原数据的方面要实现统一的元数据管理和透视。
(4)中台层
那么在上层数据综合治理平台 DateWorks 在今天已经支持湖仓一体的体验,在一个统一的开发治理的环境下面来同时实现多种形态的数据分析和计算来支持各种上层的应用业务。
3.意义
对于用户来说湖仓一体的意义就是说,我不需要看见湖和仓。数据有着打通的元数据的格式,它可以自由的流动,也可以对接上层多样化的计算生态,在阿里云上面,我们可以通过云的体系来提供一致的数据体系,一致的开发体系,智能的缓存,冷热的分层,性能的加速以及跨平台的计算,这些原子的能力,都能够最大化湖仓一体的价值。
4.实现方式
最关注的一个问题可能不是湖仓一体是怎么实现的,而是说讲完那么一个概念之后,他有实际用途吗?我想说的是他不是一个来自实验室的场景。而是来自于客户现场的真实需求,阿里云从成立以来一直和非常多的优质客户保持着密切的合作。他们为我们的产品研发和创新提供了重要的支持。
六、分享
1.共建湖仓一体的原因
微博是最大的华人社交媒体之一,致力于为客户提供优质的内容,微博与阿里云的合作是从2015年开始的,随着热点事件的弹性保障逐年递增。今年春节扩容规模达到了13000台服务器通过微博自研的 DCP 管控平台,达到了热点事件的自动扩缩容。使热点处理常态化、自动化,并且从2017年开始,双方在大规模机器学习工程技术以及内容理解技术方面,展开了深入的合作,确保算法的效率和及时性取得了显著的效果。之前的微博基于大数据的需求发展数据仓库平台,基于 AI 需求发展数据湖平台。这两套大数据平台在集群层面完全是割裂的,数据和计算无法在两个平台间自由流动,我们希望打造统一的大数据平台,既保持面向 AI 的各类数据和计算的灵活性,又解决超大规模下的计算和算法的性能以及成本的问题。为了解决上述的痛点问题,MaxCompute 产品团队和微博机器学习平台团队,联合共建了湖仓一体的新技术。
2.价值
打通了 MaxCompute 云计算仓库和开源 Hadoop 数据湖,构建了一个跨湖和仓的 AI 计算中台。MaxCompute 产品全面升级网络基础设施打通用户 VPC 私域且依托 Hive 数据仓库一键映射和强大完善的 SQL/PAI 引擎能力,将 MaxCompute 云数仓和 Hadoop 数据湖和技术体系无缝对接,实现湖和仓的统一智能化的管理和调度。湖仓一体化从业务价值来说,摆脱繁重的数据搬迁。极大地提升平台化服务能力,使微博的数据和算法工程师能够轻松无缝地借助阿里巴巴成熟的超大规模计算能力和算法,赋能业务提效。并且实现 MaxCompute 云数仓加数据湖的闭环,极大地提升 AI 类作业的效率,将数据库的灵活性和云数仓的性能,成本,云原生优势充分结合,形成互补,从而达到成本节约。
七、对话
1.对话
贾扬清:“子正,您好。非常感谢您来到杭州的现场,怎么样,千里穿越的感觉如何?”
子正:“从中关村的微博总部到云栖大会,穿越了一千多公里,确实有点晕,作为用户,对于阿里云所提供的支持和服务,我已经给了五星的好评了,怎么还要安排我的现场呢?”
贾扬清:“我们跟微博一直以来非常非常开心的合作,我们获得非常丰硕的成果,今天的话呢,我们也是希望用那么炫酷的一个方式把您请到现场,让我们一起来见证这样的一个重要的时刻。”
主持人:“两位非常地亲热,看样子将来这个合作一定是亲密无间,那么感谢两位为我们连手打造的这样一个激动人心的时刻,这也预示的大数据平台,下一代的这个架构的湖仓一体。正式发布了,我想问一下扬清,此时此刻有什么感受?”
贾扬清:“这个对我们来说是一个非常激动人心的时刻,因为我们一直在思考说,大数据的演进应该下一个方向是什么?那这些需求都是来自于实际的应用的。我们非常幸运,有像微博这样的合作伙伴和我们一起来深耕技术的方向以及具体的解决方案,到最后的落地,我们今天湖仓一体的这个发布,我们相信能够给更多的企业创造云上面的大数据和智能的价值。”
主持人:“那太棒了。”
子正:“微博是基于大数据的需求发展了数据仓库,也是基于这个 AI 的需求发展了数据湖,而现在湖仓一体让我们统一的大数据具有灵活的数据探查能力,也有了严格的数据体系。摆脱了繁重的数据迁移,其实也提供了这个平台服务化的能力,微博对于技术的追求是无止境的,对于湖仓一体的性能提升和成本下降有更高的期望和要求。希望未来继续携手并进,不断完善大数据平台的新技术。”
2.云上观察团问答环节
主持人:“感谢子正助力咱们湖仓一体的发布,请先行休息一下。接下来到了云上观察团的时候了,这个云上观察团我们有很多的朋友提的问题非常尖锐,你要做好准备好,那么接下来我们邀请线上观看演讲的嘉宾在线提问,那么提问的人会是谁呢?有请。”
主持人:“请您给大家做一个自我介绍,然后你想问扬清什么问题直接的提出来。”
3.湖仓一体的成本问题
苏醒:“大家好,我是广州市梦想网络的 CTO 苏醒。我们公司产品是一款用于智能场景的识别的 SDK,叫做即刻,即是及时的及,刻是时刻的刻,我们在现在目前全国用户量超过五个亿,那么长话短说,我现在进入到我们的提问环节,因为我们业务每天会产生海量的数据,所以我一直有关注阿里云的大数据发展方向和新的解决方案。包括阿里云最近提出了用 Hologres All In One 架构。那么现在阿里云更进一步提出了湖仓一体这个想法非常酷,那作为我们企业来说,我们很关心湖仓一体给我们企业带来的成本的上升的还是下降,我们企业现有的架构,如果要实现湖仓一体。我们的改造难度和改造成本如何呢?”
贾扬清:“我觉得这是一个非常好的问题,因为大家在考虑到一个新的体系的时候,永远会想的是:第一,我的这个改造成本有多高?第二,我的部署成本有多高?今天大家没有意识到一点是非常多的企业有已经有一个非常复杂的数据的数据系统了,离的离线的数仓是一个,在线的数仓是一个,服务的体系是一个。这是因为我们最开始在建设的数仓时候根据服务需求在不断地自底向上的构建这样一个体系,那么湖仓一体其实是一个顶层设计,他希望做到的一点是我们的数据体系可以变得更加简单。他不是说重新造一套新的体系,而是说把现在的这些纷繁复杂的体系做一定的归拢,能够使得我们在离线、在线、分析服务这样一连串的需求当中聚拢到数据湖和数仓这两个体系当中,不需要来构建太多零零碎碎的工具。所以这一块的话,在构建起湖仓一体这样的架构之后,对于企业来说,它的整体的部署的成本,运维成本和整个应用的成本都是会下降的。”
4.结尾
主持人:“扬清回答您的问题,您满意吗?”
苏醒:“我们非常期待。”
主持人:“我是你的话,我也很满意,只要听到成本不上升反而有下降的可能的时候,我都很满意。谢谢扬清非常详细的回答,谢谢您,请您暂时入席就坐,谢谢。”