如何基于MaxCompute快速打通数据仓库和数据湖的湖仓一体实践

简介: MaxCompute 是面向分析的企业级 SaaS 模式云数据仓库,以 Serverless 架构提供快速、全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您可以经济并高效的分析处理海量数据。数以万计的企业正基于 MaxCompute 进行数据计算与分析,将数据高效转换为业务洞察。

本文为2021年阿里云峰会,阿里云开发者大会大数据与AI一体化开发平台分论坛,如何基于MaxCompute快速打通数据仓库和数据湖的湖仓一体实践演讲翻译稿。

 

点击视频观看现场精彩回放

视频资料下载链接
 

讲师:孙莉莉 阿里云智能 高级技术专家

IMG_8275.HEIC.jpg  

 

本文主要分为四个部分:

一、湖仓融合的趋势分析

二、阿里云湖仓一体

三、客户案例分析

四、湖仓一体演示

 

一、 湖仓融合的趋势分析

现在很多企业说不清楚现有大数据系统是数据湖还是数据仓库,所以先带着大家一起回顾一下。过去20年,整个大数据技术发展的过程,通过这样一个剖析,希望能够让大家理解,数据湖和数据仓库到底是一个什么样的系统,它们是因为什么原因产生的,并且今天我们提的湖仓一体,它出现的一个背景是什么。纵观整个计算机科学技术领域,对于数据处理的技术主要分为四个阶段,数据库阶段、大数据技术探索阶段、大数据技术发展阶段、大数据普惠阶段。

 

数据库阶段主要是在上个世纪70年代至90年代期间,这个阶段主要是数据库加单机的黄金时代。数据库系统主要是面向操作,面向事务,面向在线业务系统的一个数据系统。其实在90年代左右,数据仓库概念就已经出现了。数据仓库面向的是历史全量数据分析,探查,但因为当时的整体数据量并不大,所以用一些数据库技术的扩展,能够支持当时数据仓库的需求。

 

2000年左右,随着互联网技术的爆发,我们迎来了大数据时代。在这个阶段,我们用传统数据库的技术是很难满足海量数据处理的需求。大家应该都知道,Google的三篇论文,分布式存储、调度、计算,奠定了整个大数据技术的基础。基本上在同一个时期,2006年出现了Hadoop的系统,阿里巴巴在2009年发展出了飞天系统,包括微软等头部公司都发展出了比较优秀的分布式系统。整个这个阶段,整个大数据的技术,其实是把数据做起来,数据大起来再说。

 

2010年左右,进入了大数据的一个蓬勃发展阶段,这个阶段是之前我们希望大数据技术从能用转变为好用。这个阶段出现了一系列以SQL表达为主的一些引擎,包括Hadoop体系发展出来Hive、Flink、Presto等一系列引擎。这个时候,逐渐形成了以HDFS为统一的存储,以ORC、Parquet 为开放的文件格式,上面有很多开放引擎为主的一个体系,这个体系像我们今天讲的数据湖系统。这个阶段,Hadoop的本质其实是一个数据湖系统。那数据湖的本质是什么?本质是统一的存储,能够存储原始的数据,能够支持多种计算范式,这就是数据湖的本质。

 

同一时期,阿里巴巴在飞天系统的基础上发布了 MaxCompute ,Google 发布了Big Query,AWS 发布了Redshift。这几个系统可以称之为大数据时代下的云数据仓库。那云数据仓库系统跟上述Hadoop体系有什么区别呢?云数据仓库并不对外暴露文件系统,暴露的是对数据的描述,用表的方式,用视图的方式暴露出来。存储引擎,计算引擎是被屏蔽在系统里面的,所以存储引擎,计算引擎可以进行深度的优化,然而用户是没有办法感知的。这个阶段可以看出来,整个大数据技术已经开始细分,已经初步的形成了湖的形态和仓的形态。

 

现在我们所处的这个阶段,也就是2015年左右,我们进入了大数据普惠阶段。这个阶段我们有观察到两个趋势。第一个趋势,大数据技术的发展除了追求规模,性能之外。更多的是看数据安全、数据治理、稳定性、低成本等企业级能力。我们也可以看出来,阿里巴巴 基于MaxCompute ,构建出了非常有阿里特色的数据中台系统。开源体系,也发展出了Atlas和Ranger,主要围绕血缘、治理、安全等开源项目。第二个趋势,随着AI、IOT、云原生技术的发展,对于非结构化数据处理的需求越来越强烈。使用云上对象存储作为统一存储的趋势越来越明显。Hadoop的体系也逐渐由HDFS为统一存储,发展为云上像S3、OSS这样的云存储,做为统一存储的数据湖体系。与此同时,出现了很多数据湖构建,像AWS Lake Formation以及阿里云发布的DLF这样的产品。仓的这条线,也在为了适应这样一个趋势,我们也在跟数据湖做很密切的联动,发展出了外表,通过外表的方式,可以对数据库里面的数据进行联邦计算。

 

纵观整个20年的发展,随着大数据技术的演进,其实是发展出来了仓跟湖的两种体系。

 

我们可以用下图这张表来对比一下数据湖跟数据仓库到底有什么区别。

整体上来说,数据湖是一个宽进宽出,相对协同比较松耦合的系统。数据仓库是一个严进严出,比较严格紧耦合的系统。数据湖是数据先进来,然后再开始用,所以是属于事后建模。可以存储结构化、半结构化、非结构化数据。数据湖是提供了一套标准的开放接口,来支持更多的引擎,像插拔式的插到这个体系里面,所以它是向所有的引擎开放。但是这里要注意了,正是因为它是插拔式的这种方式,计算跟存储其实是独立的两套系统。它们彼此之间,其实是不能够相互理解的,也没有办法做到深度的优化。这样其实导致,引擎的优化只能做到适度有限优化。数据湖易于启动,但是随着数据规模的增长,一系列的治理管理的问题出现,后期是比较难以运维的。因为数据湖不做Schema的强一致的数据检查,所以数据治理比较低,难管理使用。因为数据湖的数据是先进来再使用,所以它更适合解决未知的问题,比如探查类的分析,科学计算,数据挖掘等计算处理。

 

数据仓库在对比维度里基本都是相反的状态,数据仓库是一个严格的系统,所以需要事前建模,数据经过转化清洗进到仓里面,存储类型变为结构化或者半结构化。因为数据仓库是一个相对封闭的系统,是一个自闭环的系统,所以数据仓库向特定引擎开放,但是恰恰因为数据仓库是一个自闭环系统,它的计算引擎、存储引擎、元数据之间是可以做到非常深度、垂直的优化,可以获得一个非常好的性能。数据仓库因为事前建模,数据才能进来,所以难启动,相对来讲启动成本较高。但一旦数据进入数仓之后,整个数据的高质量,方便做治理,这个时候它的整体成本会降低,甚至达到一个免运维的状态。数据仓库的Schema会做强一致的检查,所以数据质量很高,易于使用。所以数据仓库的计算负载天然的适合做离线计算,交互式计算以及BI和可视化。

 

整体上来讲,数据湖更偏灵活性,数据仓库更偏企业级能力。那么这两种特点对于企业到底意味着什么呢?我们用下面这张图来表示。

横轴是代表企业的业务规模,纵轴是代表企业搭建一套大数据系统所需要的成本。在企业初创的时候,整个业务规模还不大,数据从产生到消费的整个链路,是一个探索和创新的阶段。在这个阶段使用数据湖是非常容易启动,成本也是比较低的。但是随着业务的发展和壮大,参于的人员和部门越来越多,对于数据质量管理、权限控制、成本要求会越来越高。这个时候再使用数据湖,成本是指数级上升。所以这个时候适合用数据仓库,可以做好成本控制、数据质量管理等。从上图可以看出,对于一个企业来讲,在不同的阶段,数据湖和数据仓库都发挥着各自关键的作用。那是否有一种技术或者架构能同时发挥出两者的优势呢?

 

 

以阿里云对业界的观察和本身大量的实践,我们认为数据湖和数据仓库正在发生融合。并且它们以各自的方式,向着湖仓一体的方向进行演进。从上图中可以看出,数据仓库到湖仓一体的演进方向,数据湖到湖仓一体的演进方向,两者是相反的,相对的。那么在它们各自的演进上面需要做什么工作呢?

 

数据仓库是一个严格的系统,所以数据仓库更适合做事务支持,Schema强一致检查和演进,天然支持BI,更容易做实时性。对于数据湖,优势在于数据类型丰富,支持多种计算模式,有开放的文件系统,开放的文件格式,是存储计算分离的架构。

 

所以数据仓库到湖仓一体的演进,需要从本身拥有的特性发展出数据湖的特性。其实是要跟HDFS、OSS这样的系统做好联动,做好融合,所以数据仓库的结构更偏左右结构。对于数据湖到湖仓一体的演进,是需要更多的站在HDFS、OSS基础上面,来做出强仓的特性。所以数据湖的结构更像一个上下结构。那么,DeltaLake和Hudi其实就是在上下结构当中插了一层,做了一个湖上面的,能够支持强仓的文件类型。

 

但不管是数据仓库到湖仓一体,还是数据湖到湖仓一体,最终大家演进的这个方向都是一致的,都是湖仓一体。湖仓一体的特性是不变的,四种偏仓的特性,四种偏湖的特性。

 

二、阿里云湖仓一体

 

 

上图为阿里云湖仓一体整体架构,从下往上看,底层是网络层,中间层为湖仓引擎层,在往上是DataWorks 湖仓数据开发层,最上面是业务应用层。我们重点来讲下引擎层,阿里云湖仓一体是左右结构,左边是阿里云数据仓库 MaxCompute,右边是阿里云数据湖 EMR,中间是通过元数据的统一,通过开放格式兼容,以达到数据跟任务可以在数据仓库和数据湖之间的任意流动。在2020年云栖大会上发布的是,对于Hadoop数据湖的支持。近期我们已经支持了OSS 数据湖的湖仓一体。

 

上图右侧是列出来一些我们近期发布的具体功能点。

  1. 支持云原生数据湖

MaxCompute 对接了阿里云数据湖构建产品DLF,可以做到元数据的自动发现,做到湖/仓元数据统一存储和管理。

 

  1. 对于数据湖查询更好的性能

近期阿里云正在灰度一个功能,智能Cache,此功能可以实现OSS到仓里面智能化的数据分层。MaxCompute 在2020年发布了查询加速功能,未来一个版本我们会把查询加速引擎也投射到数据湖上面,让它能够支持数据湖上面的查询加速。

 

  1. 生态开放性

    近期已支持Delta Lake开源文件格式。

 

  1. DataWorks 统一的数据开发平台

    DataWorks支持多引擎,提供了湖仓一体开发体验。

 

 

不管是从上下结构还是左右结构演进过来的湖仓一体,最终都应该是一个简单易用的系统体系。阿里云湖仓一体有四大关键特性,这四大关键特性都是在围绕怎么把数据湖跟数据仓库做到更加易用。

 

  1. 快速接入

主要有两个层次,一个是网络层,一个是湖仓一体的开通层。MaxCompute 支持云上云下任何环境下Hadoop体系的打通,因为MaxCompute 自有的多租户体系,如何跟特定的一个用户环境打通,技术方面有很大的挑战,我们研发了PrivateAccess网络连通技术,来达到这个目标。第二个关于DataWorks白屏操作自助开通湖仓一体,未来我们会很快发布一个版本,用户在控制台里面就可以很快开通湖仓一体,目前还是需要用工单方式来提交开通。

 

 2. 统一的数据/元数据

其中关键的技术是,有一个Database级别的元数据映射,就是我们可以把数据湖上面的Database映射成MaxCompute 里面的一个Project。数据湖上面的数据不需要移动,就可以让 MaxCompute 像访问操作普通Project一样进行消费。同时做到数据湖和数据仓库的数据/元数据做到实时同步,如果数据湖内的一张表数据或者Schema发生变化,可以及时的反应在 MaxCompute 数仓这一侧。同时 MaxCompute 具备内置的存储跟文件格式,我们也在持续的跟进开源生态内的文件格式,包含上文提到的Delta Lake。

 

 3. 提供统一的开发体验

数据湖和数据仓库本身是两套不同的系统,两个系统有不同的数据库模型的定义,对象模型的定义,我们在MaxCompute 这一侧,把数据湖跟数据仓库的对象模型进行了统一,再加上 MaxCompute 的SQL和Spark是高度兼容社区的,所以我们可以做到作业在两套系统内,无缝迁移。

 

 4. 自动数仓

这条线比较有意思,也是我们近期重点投入领域。我们去年做了一版Cache,主要是根据历史数据做Cache,今年我又做了一版Cache,是能够根据业务场景动态调整的策略智能化Cache,最终是要做到数据可以在数据湖跟数据仓库中智能化的冷热分层。我们的Cache本身需要存储跟计算,要做到深度耦合,所以数仓做这层Cache,可以做到更加的极致。另外,我们还尝试在数据湖的数据上进行打标跟识别,是从数据建模的角度来判定,哪些数据更适合放到仓里面,哪些数据更适合放到湖里面。比如一些结构化被反复访问,比较高频的表数据,更适合放到数据仓库内。如果偏非结构化/半结构化低频的数据,更适合放到数据湖内。最终的目的是为了在性能、成本以及业务效果上达到一个最佳的平衡。

阿里云湖仓一体适合哪些场景?概况起来有三大类。

 

  1. Hadoop集群利旧上云

线下Hadoop上云需要很繁重的数据、任务搬迁,甚至要修改。这时就可以使用湖仓一体,让线下Hadoop跟阿里云 MaxCompute 进行快速的打通,线下的作业不需要修改,不需要搬迁的情况下,可以直接运行到MaxCompute 的系统里面。

 

  1. 数据湖ETL/Ad-hoc加速

MaxCompute 作为SaaS模式云数据仓库,具有高性能、低成本以及Serverless能力。通过湖仓一体,是可以把仓的能力投射到湖里面。

 

  1. 企业级跨平台的统一大数据平台

企业可以基于湖仓一体的技术,将现有的一个或多个Hadoop甚至OSS湖上的数据,跟 MaxCompute 数仓进行一个打通,最后构建一整套统一的数据开发,统一的管理、治理、调度的数据开发平台。对上层业务提供的是,统一的、透明的中台能力。

 

三、客户案例分析

 

案例1、MaxCompute 数仓跟Hadoop数据湖的数仓一体案例业务介绍:

•主要做社交媒体领域里的推荐 / 排序、文本 / 图像分类、反垃圾 / 反作弊等。在开源 Hadoop数据湖的基础上,借助阿里巴巴MaxCompute和PAI,解决了超大规模下的特征工程、模型训练等性能问题,形成了MaxCompute 和Hadoop数据湖共存的格局。

痛点:

•数据同步安排专人专项负责,工作量巨大;

•训练数据体量大,导致耗时多,无法满足实时训练要求;

•新写 SQL 数据处理 query,无法复用 Hive SQL 原有 query。

价值:

•通过湖仓一体,无须进行数据搬迁和作业迁移,原有生产作业无缝灵活调度MaxCompute 集群和 EMR 集群中,且性能有提升;

•封装构建AI计算中台,极大提升该团队的业务支撑能力。

 

 

案例2、MaxCompute 数仓跟OSS数据湖的湖仓一体案例业务介绍:

•客户广告算法团队是湖仓一体主要客户,主要应用是机器学习DW + MC + PAI + EAS 在线模型服务 。

痛点:

•算法团队想更集中在业务和算法上,需要自服务程度高、一站式的机器学习平台;

•Hadoop 集群是多团队共用,使用集群管控较严,无法短时间支撑大workload 的创新业务。

价值:

•通过湖仓一体将新业务平台与原有数据平台打通,PAI on MaxCompute + DataWorks 为客户创新业务提供敏捷、一站式机器学习模型开发、训练、模型发布,大规模计算能力、EAS 模型发布流程;

•起到好的示范作用,并快速复制到其他业务线,高效的支撑了该客户业务的快速增长。

 

 

案例3、MaxCompute数仓跟OSS数据湖的湖仓一体案例业务介绍:

•丰富的大数据平台建设经验,持续进行平台的迭代升级以满足业务不断发展的需求。从国外某厂商迁移到阿里云后,积极建设和改造数据湖架构。

痛点:

•第一代数据湖是 EMR + OSS,公司引入的数据中台的执行引擎和存储是Maxcompute,两套异构的执行引擎带来存储冗余、元数据不统一、权限不统一、湖仓计算不能自由流动。

价值:

•将 EMR 的元数据统一到DLF,底层使用 OSS 作统一存储,并通过湖仓一体打通EMR数据湖和MaxCompute数仓两套体系,让数据和计算在湖和仓之间自由流动;

•实现湖仓数据分层存储。数据中台对数据湖数据进行维度建模的中间表存储在MaxCompute上,建模的结果表放在数据湖里供EMR或其他引擎消费。

 

四、湖仓一体演示

  1. MaxCompute数仓跟OSS数据湖的湖仓一体演示

点击观看实践操作视频

  1. MaxCompute数仓跟Hadoop数据的湖仓一体演示

点击观看实践操作视频

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数仓架构的持续演进与发展 — 云原生、湖仓一体、离线实时一体、SaaS模式

简介: 数据仓库概念从1990年提出,经过了四个主要阶段。从最初的数据库演进到数据仓库,到MPP架构,到大数据时代的数据仓库,再到今天的云原生的数据仓库。在不断的演进过程中,数据仓库面临着不同的挑战。 作…

华为路由器命令手册_华为路由器+蒲公英路由器,如何做双层路由器映射?

今天上午,有一个客户反馈,他们的软件和linux系统无法实现外网访问了。客户的网络拓扑是这样的,光猫接蒲公英路由器X5,蒲公英路由器的LAN 口IP是192.168.0.1,然后从蒲公英路由器的LAN口连接一根网线到华为路由器WAN口&a…

行业务实派:解锁数据价值,翼方健数全栈隐私安全计算技术

数智化时代,数据已成为最核心、最具价值的生产要素。其中,如何应用可落地的技术,共享和保护数据,促进数据要素进一步流通,释放数据价值,受到业内普遍关注。 隐私计算,被业内誉为打破“数据隐私…

ctrl c 失效了_[安卓+PC双端]超C女仆无馬中字

这周基本啥也没发,传个小游戏吧就~点赞(150) 投币(随缘)推荐用用吉里吉里模拟器玩~应该是女仆类的游戏,我没玩过也不清楚哦链接失效我就不补了,如果点赞在今天内达标,那就今晚20:00补发,不要错…

浅谈分布式一致性:Raft 与 SOFAJRaft

简介: SOFAJRaft已开源 作者 | 家纯 来源 | 阿里技术公众号 一 分布式共识算法 (Consensus Algorithm) 1 如何理解分布式共识? 多个参与者针对某一件事达成完全一致:一件事,一个结论。 已达成一致的结论,不可推翻。 2 有哪些…

OpenKruise v0.9.0 版本发布:新增 Pod 重启、删除防护等重磅功能

简介: OpenKruise 是阿里云开源的云原生应用自动化管理套件,也是当前托管在 Cloud Native Computing Foundation (CNCF) 下的 Sandbox 项目。它来自阿里巴巴多年来容器化、云原生的技术沉淀,是阿里内部生产环境大规模应用的基于 Kubernetes 之…

00后确实卷,公司新来的卷王,我们这帮老油条真干不过.....

都说00后躺平了,但是有一说一,该卷的还是卷。这不,前段时间我们公司来了个00后,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。最…

rsa 返回值 验签 失败_解析蛋糕、面包制作失败的原因

其实这些问题的答案大多都隐藏在搅拌盘、烤炉和烤盘中掌握好这些基础知识就能告别这些常见的失误01﹏﹏﹏好的蛋糕始于搅拌盘做蛋糕的过程实质上是化学变化的过程,一系列的配料遵照严格的顺序倒入搅拌盘里混合并产生特殊效应。想做出蛋糕心松软、湿润和细腻质感的黄…

阿里云资深技术专家李克畅谈边缘云计算趋势与实践

简介: 2021年5月15日,以“相信边缘的力量”为主题的全球边缘计算大会在深圳成功召开。 阿里云资深技术专家李克,分享阿里云在边缘云计算的探索和实践,如何为行业提供广覆盖、低成本、高可靠的边缘基础设施。 2021年5月15日&#…

阿里云江岑:云原生在边缘形态下的升华

简介: 5月20-22日,第十三届中国系统架构师大会(SACC2021)在云端进行网络直播,主题为“数字转型、架构重塑”。阿里云边缘云原生技术专家江岑,分享了阿里云在边缘云原生的探索实践,并从应对技术挑…

对数据“投入”却没有“产出”?听听 Gartner 的最新分析

作者 | 宋慧出品 | CSDN云计算(ID:CSDNcloud)关于数据中台的问题,CSDN 在一年前采访了 Gartner 研究总监孙鑫,采访中,孙鑫提到 数据分析将是改变“游戏规则”的技术、企业的中台需要可组装的架构 。经过一年…

实时计算 Flink 版总体介绍

简介: 实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品&#xff0c…

来电科技:基于Flink+Hologres的实时数仓演进之路

简介: 本文将会讲述共享充电宝开创企业来电科技如何基于FlinkHologres构建统一数据服务加速的实时数仓 作者:陈健新,来电科技数据仓库开发工程师,目前专注于负责来电科技大数据平台离线和实时架构的整合。 深圳来电科技有限公司&…

你说精通 Redis ,你看过持久化的配置吗?

作者 | 阿Q来源 | 阿Q说代码今天让我们从理论和配置两个层面来揭开Redis持久化的神秘面纱。所谓持久化可以简单理解为将内存中的数据保存到硬盘上存储的过程。持久化之后的数据在系统重启或者宕机之后依然可以进行访问,保证了数据的安全性。Redis有两种持久化方案&a…

matlab from有什么用,Matlab函数使用'fromworkspace'将向量传递给simulink

我想编写一个包含simulink块的matlab函数 . 该函数应将数据加载到simulink模型中,运行它,然后从函数返回数据 .我能想到的唯一方法就是在simulink中使用To Workspace和From Workspace块 . 问题是From Workspace块不从功能范围中获取变量,只从…

一种低延迟的超时中心实现方式

简介: 在很多产品中都存在生命周期相关的设计,时间节点到了之后需要做对应的事情。超时中心(TimeOutCenter,TOC)负责存储和调度生命周期节点上面的超时任务,当超时任务设置的超时时间到期后,超时…

浪潮云海OpenStack X版本技术贡献中国第一

10月6日,OpenStack社区发布第24个版本 Xena(简称X版本),浪潮云海在Nova、Cyborg、Cinder、Masakari、Manila等核心项目的技术贡献排名再次获得「中国第一」、全球前三,已连续4个版本荣登社区技术贡献国内榜首&#xff…

【实践案例】Databricks 数据洞察在美的暖通与楼宇的应用实践

简介: 获取更详细的 Databricks 数据洞察相关信息,可至产品详情页查看:https://www.aliyun.com/product/bigdata/spark 作者 美的暖通与楼宇事业部 先行研究中心智能技术部 美的暖通 IoT 数据平台建设背景 美的暖通与楼宇事业部&#xff0…

mysql 默认时间字段 1067,mysql替datetime类型字段设置默认值default

操作服务器环境为Linux centos5.7安装的mysql版本 MariaDB,图简单直接使用命令install上去的。在自己mac上测试数据库修改Alter语句没有问题的,ALTER TABLE XXX.XXX ADD COLUMN createtime datetime NOT NULL DEFAULT NOW() AFTER userinfo;但是在服务器…

tcp ip协议_网络通信-TCP/IP协议族简述

导读:计算机与网络设备要相互通信需要遵守同样的规则。例如,如何找到通信目标、该使用哪种语言通信、怎么结束通信等规则。不同的硬件、操作系统之间的通信都需要遵循同一种规则,这种规则也称为是协议。下面本文主要从以下三个点讨论与互联网…