快速打通数仓和数据湖的湖仓一体最佳实践 | 学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: 快速学习快速打通数仓和数据湖的湖仓一体最佳实践

开发者学堂课程【SaaS  模式云数据仓库系列课程 —— 2021数仓必修课快速打通数仓和数据湖的湖仓一体最佳实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/55/detail/1060


快速打通数仓和数据湖的湖仓一体最佳实践

 

目录:

一、数据湖 vs 数据仓库

二、下一代大数据演进方向:湖仓一体

三、湖仓一体演示


一、数据湖 vs 数据仓库

1.大数据的演进

数据湖和数据仓库很难有一个清晰的界定。

之所以大家认为自己用得是数据仓库,是因为数据仓库的概念出现的很早,大数据概念出现之前,数据库时代数据仓库的概念就出现了,从用户使用认知角度来看,计算存储分离的叫数据湖。

2.一个典型的数据湖系统剖析

阿里云 EMR 数据湖—基于开源生态的大数据平台

(1)系统架构图

image.png

从图上可以看出,模块数量较多,层次结构清晰。从下往上看,最下面一层是存储层,往上一层是 hdfs/Jindou  层,之后一层是调度层,再上层是各种引擎,最上层是应用接入层,这些是数据湖的一个基本架构。各个模块是一个独立的组件,可以插拔,也可以替换。

image.png

(2)产品优势

a.基于开源生态的大数据平台

b.支持  hdfs  和oss  两种存储系统

c.JindouFS+OSS  架构具有更好的效率和更低的成本

d.易于启动和搭建

(3)数据湖的本质

a.统一的存储系统

b.统一的元数据

c.引擎丰富,各组件自由协作

(4)数据湖的架构演进

架构上,从自建的存储计算一体演变为托管的存储计算分离建构,拥有更好的拓展性和稳定性。

image.png

数据湖架构是从左到右演进的,最初的数据湖是在HDFS上加一个自建集群,但是在此数据湖中我们要监管机房、机位、采购、部署软件等;之后又出现了像EMR这样的产品,机房、机位这些就不用监管了,然后把自建集群改为EMR集群扩容一下,从全托管转化为了半托管;而现在的云上数据湖,把HDFS替换成了元数据中(DLF),用  OSS  或 S3  来替代存储层,背后的概念是计算存储分离,好处是带来了更好的弹性以及更好地稳定性。原始数据湖存在的问题是计算作业打满了  CPU,导致整个  HDFS  不稳定,其他作业受到影响,导致数据湖崩溃。

DLF   可以把元数据服务化,达到在不需要计算时,也能保存原始数据与存储,可以把整个计算层去掉,在需要时再拉回来,使整个架构更灵活。

现在一个标准数据湖是各种组件之间非常灵活的组合形式,数据湖中的每一层可以独立使用,数据可以从其他组件进入。

3.一个典型的数据仓库系统剖析

阿里云  MaxCompute—SaaS  模式企业级云数据仓库

(1)系统架构图

image.png 

从图上来看,数据仓库的架构与数据湖的架构相似,有分布式的存储,有计算资源,,有调度,有各种引擎以及各种功能组件等,最大的不同之处是,一个数据仓库有一个统一的数据接入层,这个数据仓库的数据接入层通过内部的各种组件对用户屏蔽。

数据接入层的不同在数据湖和数据仓库的比较中起到了关键作用,第一,定义了整个系统的边界,进入数据仓库的数据是有要求的,而任何数据都可以直接进入数据湖,进入 MaxCompute 的数据一定是结构化的;第二,系统内部的各种版本的演进是对用户屏蔽的,比如在数据湖中存在的几个节点,存储的冷热分层,引擎与存储需一起提升。

(2)产品优势

a.云原生极致弹性,无服务器架构,开箱即用,支持砂级弹性伸缩

b.预置多种深度优化计算模型、存储和数据通道能力

c.完善的企业级平台能力,且支持开放生态

d.强大的细粒度的安全隔离机制

e.大规模集群性能强、全链路稳定性高(阿里巴巴双11场景验证)

(3)基于 MaxCompute  强数仓的优势,阿里巴巴构建大数据中台

image.png

 

(4)数据仓库的本质

a.内置存储系统提供数据抽象

b.数据需要清洗和转化

c.强调建模和数据管理

image.png

4.数据湖与数据仓库的区别

从技术角度是做了不同的倾斜,就是数据湖的系统是灵活的,强调组建组件之间的灵活的协作,数据入库是结构化半结构化,这种是来者不拒的,然后上面的引擎是非常丰富、开放的使用起来上手是很容易的,大家获得的学习信息十分充足。

而数据仓库是针对大的数据怎么有效管理的,数据进入这个系统,就要先建模,建模之后用最高效的格式存储他,上面的引擎没那么丰富,但是这些引擎效率会跟系统内的各种其他组组件一起优化。

这个系统是不开元的,使用需要经过一个学习过程,上手困难一点,但是上手之后就会很容易,后续的管理成本是较低的。

image.png 

从场景来看,这两种系统分别适合做什么?

因为数据湖对进入数据的类型没有要求, 所以数据湖系统适合做一个从无到有的分系过程,而数据库适合做业务流程已经确定,接下来是一个成长期,数据量和用户量开始上升,剩下的问题都变成工程问题,数据量大了之后怎么保证稳定性的问题、保证效率的问题,怎么降低成本的问题。

image.png 

从图中可以看出在特定规模之前数据湖灵活性占优势,之后数仓成长性占优势。

与此同时,就产生了一个问题,客户如何才能同时享受到数据湖的灵活性和数据仓库的成长性。


二、下一代大数据演进方向:湖仓一体

阿里云计算平台提出下一代大数据演进方向:湖仓一体,即打通数据湖和数据仓库两套系统,让数据和计算在湖仓之间自由流动,从而构建一个完整的有机的大数据技术生态体系。

1.整体架构

image.png 

湖仓一体是在相当长的一段时间里将数据湖和数据库结合起来,数据资产应该是一致的,我们不希望它分裂,所以我们提出了湖仓一体这个概念,新的数据接入层能够能够认识各种各样数据组合或数据类型。

2.关键技术特性

湖仓一体的缺点:整体系统使用的复杂度上升。

湖仓一体的关键技术是为了降低系统使用的复杂度。

(1)快速接入

经过快速简单的开通步骤即可和  MaxCompute  数仓相连通。

(2)统一数据/元数据管理

既支持  hadoop  开源数据湖,也支持oss数据湖(兼容)。

数仓和数据湖的数据/元数据保持实时一致性(数据湖中的DB直接映射为MaxCompute Project  ,享受数仓配套工具链)

(3)同意开发体验

基于  DataWorks  强大的数据开发/管理/治理能力,提供统一的湖仓开发体验,降低两套系统的管理成本。

MaxCompute  高度兼容  Hive/Spark  ,支持一套任务可以在湖仓两套体系中灵活无缝的运行。

(4)自动数仓

湖仓系统间的高速网络通道。

智能的系统间近线  Cache。

中台统一管理框架下的合理数据分层,不仅享受数据湖带来的灵活性,也享受MaxCompute  带来的企业级数仓能力。

image.png 

湖仓一体化的数据中台可能有几个数据湖和几个数仓系统构成。在数据层要做到数据的高速打通,到异构集群有高速带宽,在计算层做到元数据的实时打通,在中台层做统一的体验。

3.适用场景

a.支持超大规模的机器学习和深度学习

基于开源的数据湖依托湖仓一体混合云结构,可以实现超大数据集进行机器学习、深度学习训练,以及高性能的超大规模样本生成和特征处理的完整pipeline,极大提升AI类作业效率。

b.高效使用阿里数据中台提升企业大数据能力

企业依托开源建设了数据湖,再借助使用阿里数据中台能力过程中,湖仓一体方案解决了迁移带来的利旧、确保业务连续性、与已有的系统协同、提升迁移速度的问题。

c.敏捷运营、降本提效

强运营行业(视频、直播、游戏等),数据驱动运营决策频次高,对计算资源临时性需求强。湖仓一体方案以更低成本快速的满足业务高弹性需求。

 

三、湖仓一体演示

使用工具:MaxCompute/DataWorks/EMR/oss

1.快速打通

打开一个执行命令,进入命令行,我们会用到  MaxCompute  的基本文件1、2、3, 在 Hive  中构建一个新环境,新建一个  database   ,命名为 Inhdp1 oss,在oss建一张表,命名为  loction(是一个ORC格式的表),这是一个  EMR  与  oss结合的数据湖,然后输入数据,最后  select。

在  MaxCompute  新建一个  Project,命名为desc Project,可以与Hive上的database  作展通,提供EMR上的一些基础信息,里面已经有一张表  foo,就可以知道输入数据的时间和最后一次更改数据的时间,映射的  desc Project  不能作业,不承在资源的属性,结果运行在  menage Project  中,desc Project  的创建、消除不会产生任何费用,运用到desc Project里面的元数据之后,作业才能运行。

之后再建一张表,把  foo  表里的数据换掉,然后再做一个  show table  ,我们可以在 Hive  中见到新换的数据。

2.用户/权限管理

在原生  MaxCompute  中用户权限管理,add user lyman  的帐号,再授权做grand  权限,然后  show table Inhdp1 oss。

在湖仓一体中用户权限管理,add user lyman  的帐号,再授权做  grand List  权限,然后  show table Inhdp1 oss。

 image.png

 

使用湖仓一体化的方法:

在阿里云搜索湖仓一体;点击  MaxCompute  官网首页湖仓一体按钮。

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
15天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
58 2
|
16天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
55 1
|
5月前
|
存储 分布式计算 大数据
数据仓库与数据湖在大数据架构中的角色与应用
在大数据时代,数据仓库和数据湖分别以结构化数据管理和原始数据存储见长,共同助力企业数据分析。数据仓库通过ETL处理支持OLAP查询,适用于历史分析、BI报表和预测分析;而数据湖则存储多样化的原始数据,便于数据探索和实验。随着技术发展,湖仓一体成为趋势,融合两者的优点,如Delta Lake和Hudi,实现数据全生命周期管理。企业应根据自身需求选择合适的数据架构,以释放数据潜力。【6月更文挑战第12天】
203 5
|
20天前
|
数据采集 分布式计算 OLAP
最佳实践:AnalyticDB在企业级大数据分析中的应用案例
【10月更文挑战第22天】在数字化转型的大潮中,企业对数据的依赖程度越来越高。如何高效地处理和分析海量数据,从中提取有价值的洞察,成为企业竞争力的关键。作为阿里云推出的一款实时OLAP数据库服务,AnalyticDB(ADB)凭借其强大的数据处理能力和亚秒级的查询响应时间,已经在多个行业和业务场景中得到了广泛应用。本文将从个人的角度出发,分享多个成功案例,展示AnalyticDB如何助力企业在广告投放效果分析、用户行为追踪、财务报表生成等领域实现高效的数据处理与洞察发现。
47 0
|
3月前
|
存储 分布式计算 监控
揭秘阿里云EMR:如何巧妙降低你的数据湖成本,让大数据不再昂贵?
【8月更文挑战第26天】阿里云EMR是一种高效的大数据处理服务,助力企业优化数据湖的成本效益。它提供弹性计算资源,支持根据需求调整规模;兼容并优化了Hadoop、Spark等开源工具,提升性能同时降低资源消耗。借助DataWorks及Data Lake Formation等工具,EMR简化了数据湖构建与管理流程,实现了数据的统一化治理。此外,EMR还支持OSS、Table Store等多种存储选项,并配备监控优化工具,确保数据处理流程高效稳定。通过这些措施,EMR帮助企业显著降低了数据处理和存储成本。
127 3
|
3月前
|
存储 大数据 数据处理
Delta Lake革新浪潮:EMR中的数据湖守护者,如何重塑大数据生态?
【8月更文挑战第26天】Delta Lake是一款开源大数据处理框架,以数据版本控制和ACID事务特性著称,在大数据领域崭露头角。在阿里云EMR平台上,它为用户提供高效可靠的数据处理方式,通过结构化的存储、事务日志实现数据版本控制和回滚。Delta Lake在EMR中实现了ACID事务,简化数据湖操作流程,支持时间旅行查询历史数据版本,优化存储格式提高读取速度,这些优势使其在开源社区和企业界获得广泛认可。
47 2
|
3月前
|
分布式计算 大数据 数据处理
【大数据管理新纪元】EMR Delta Lake 与 DLF 深度集成:解锁企业级数据湖的无限潜能!
【8月更文挑战第26天】随着大数据技术的发展,Apache Spark已成为处理大规模数据集的首选工具。亚马逊的EMR服务简化了Spark集群的搭建和运行流程。结合使用Delta Lake(提供ACID事务保证和数据版本控制)与DLF(加强数据访问控制及管理),可以显著提升数据湖的可靠性和性能。本文通过一个电商公司的具体案例展示了如何在EMR上部署集成Delta Lake和DLF的环境,以及这一集成方案带来的几大优势:增强的可靠性、细粒度访问控制、性能优化以及易于管理的特性。这为数据工程师提供了一个高效且灵活的数据湖平台,简化了数据湖的建设和维护工作。
59 1
|
3月前
|
存储 机器学习/深度学习 数据采集
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
|
3月前
|
Java Spring 开发者
掌握Spring事务管理,打造无缝数据交互——实用技巧大公开!
【8月更文挑战第31天】在企业应用开发中,确保数据一致性和完整性至关重要。Spring框架提供了强大的事务管理机制,包括`@Transactional`注解和编程式事务管理,简化了事务处理。本文深入探讨Spring事务管理的基础知识与高级技巧,涵盖隔离级别、传播行为、超时时间等设置,并介绍如何使用`TransactionTemplate`和`PlatformTransactionManager`进行编程式事务管理。通过合理设计事务范围和选择合适的隔离级别,可以显著提高应用的稳定性和性能。掌握这些技巧,有助于开发者更好地应对复杂业务需求,提升应用质量和可靠性。
44 0
|
4月前
|
存储 搜索推荐 数据建模
阿里巴巴大数据实践之数据建模:构建企业级数据湖
阿里巴巴通过构建高效的数据湖和实施先进的数据建模策略,实现了数据驱动的业务增长。这些实践不仅提升了内部运营效率,也为客户提供了更好的服务体验。随着数据量的不断增长和技术的不断创新,阿里巴巴将持续优化其数据建模方法,以适应未来的变化和发展。