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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 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  官网首页湖仓一体按钮。

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
1月前
|
存储 JSON 大数据
大数据离线数仓---金融审批数仓
大数据离线数仓---金融审批数仓
122 1
|
4月前
|
SQL Oracle 物联网
助力工业物联网,工业大数据之数仓维度层DWS层构建【十二】
助力工业物联网,工业大数据之数仓维度层DWS层构建【十二】
47 0
|
4月前
|
SQL 分布式计算 数据可视化
滴滴出行大数据数仓实战
滴滴出行大数据数仓实战
116 0
滴滴出行大数据数仓实战
|
6月前
|
SQL 资源调度 数据库
数仓学习---14、大数据技术之DolphinScheduler
数仓学习---14、大数据技术之DolphinScheduler
|
6月前
|
分布式计算 Hadoop 大数据
大数据Hadoop之——Apache Hudi 数据湖实战操作(Spark,Flink与Hudi整合)
大数据Hadoop之——Apache Hudi 数据湖实战操作(Spark,Flink与Hudi整合)
|
6月前
|
存储 数据挖掘 BI
数据平台发展史-从数据仓库数据湖到数据湖仓 1
数据平台发展史-从数据仓库数据湖到数据湖仓
|
1月前
|
分布式计算 大数据 Hadoop
数据仓库(13)大数据数仓经典最值得阅读书籍推荐
从事数仓工作,在工作学习过程也看了很多数据仓库方面的数据,此处整理了数仓中经典的,或者值得阅读的书籍,推荐给大家一下,希望能帮助到大家。建议收藏起来,后续有新的书籍清单会更新到这里。
161 2
数据仓库(13)大数据数仓经典最值得阅读书籍推荐
|
1月前
|
SQL 存储 分布式计算
最佳实践 | 通过Apache Hudi和Alluxio建设高性能数据湖
最佳实践 | 通过Apache Hudi和Alluxio建设高性能数据湖
33 0
|
1月前
|
SQL 关系型数据库 MySQL
Flink CDC + Hudi + Hive + Presto构建实时数据湖最佳实践
Flink CDC + Hudi + Hive + Presto构建实时数据湖最佳实践
140 0
|
2月前
|
SQL 分布式计算 数据库
离线数仓--大数据技术之DolphinScheduler
离线数仓--大数据技术之DolphinScheduler
140 2