湖仓一体架构的理解

简介: 近日因公司业务问题,突发兴致,想了解一下数仓及相关架构,恰逢阿里云有湖仓一体架构的直播,遂听之,但是直播内容讲的比较浅,于是深入了解之,并记录如下个人所得笔记,如有偏驳,后续改之.

近日因公司业务问题,突发兴致,想了解一下数仓及相关架构,恰逢阿里云有湖仓一体架构的直播,遂听之,但是直播内容讲的比较浅,于是深入了解之,并记录如下个人所得笔记,如有偏驳,后续改之.

概述

湖仓一体架构是针对数据存储的一种架构,主要还是针对企业级系统大数据存储及治理的一种机构.

发展

湖仓一体的架构是第三代演变的架构

  1. 第一代: 纯粹的数据仓库
  2. 第二代: 两层的湖仓一体,数据湖还是数据湖,数据仓还是数据仓,只是简单的融合在一起,运营系统的数据进入数据湖,数仓从湖中提取数据ETL后,再次存入数据湖,供给业务系统使用.
  3. 第三代: 湖仓一体,湖中建仓,在当前的架构中其实是将数仓的功能融合到了数据湖中,让数据湖拥有数仓的功能

理解

湖仓一体(LakeHouse)出现的原因

我们先来了解一下数据仓库和数据湖的概念

数据仓库

如果做过几年业务系统开发的开发童鞋一定深有体会,随着业务系统访问量和运行时间的增加,数据量级也随之增长,此时如果我们开发一个新的系统需要用到多个业务系统的数据,该如何操作?

如果多个业务系统分属不同数据库,甚至不同平台的数据库,比如Mysql/Oracle/MongoDB/PG,怎么才能关联到一起?

这时候就出现了第一代的数据仓库,概念也是很顺理成章,将各个数据库的数据抽取/转化/加载到一个大的数据库不就行了.

这里的一个大的数据库就是数据仓库(Data Warehouse),简称DW

数据抽取/转化/加载的过程就称为ETL

数据湖

数据仓库已经解决了大部分的数据问题,为什么还要数据湖?

数据仓库只能存储结构化的数据,可以理解为数据仓库就是一个大号的关系型数据库,那么数仓只能存储结构化数据.

而我们业务系统中其实还有很多非结构化的数据,比如日志,图片/语音/视频等文件等等,这种数据没办法按一个结构去存储,可是某些情况下我们还是需要对这些数据进行分析的,比如推荐算法需要通过对用户浏览/点击的日志分析对应用户的需求,进而给用户推送推荐商品,这个时候数仓就不能满足我们的需求了.

这也从侧面说明了一个问题: 在当前时代,数据是有价值的.

我们需要将业务系统的所有数据都存储到一个地方,这个地方既能存储结构化的数据,也能存储非结构的数据,这样我们就能随时从这个地方获取我们想要的数据进行一些操作.

这个地方就是数据湖(Data Lake)

个人理解: 数据湖就是我们不管是什么样的数据,不管当前对我们有用没用,先存储进去,万一后面有用呢.

数据湖的特点: 能存储任意数据,解决数据孤岛问题,容易出现数据沼泽问题.

ps:

  1. 数据孤岛: 各个业务系统数据并不相通,每个业务系统都自己搞自己的业务数据,即使他们的数据可能存在互通之处,不进行也无法进行交流沟通.
  1. 举例: 某公司有三个业务系统,每个业务系统都存储了一份自己的单位/员工信息,即使这份信息其实是一样,当某一个系统的单位/员工信息修改后,其他系统并不会随之修改,互不影响,就像孤岛一样
  1. 数据沼泽: 数据湖由于可以存储任意数据,因此所有业务系统都往里面扔数据,但不进行数据治理,导致数据湖的数据越来越多,越来越杂乱,最终形成一个杂乱不堪的数据集,无法从中获取有效数据.

数据湖使用的正确姿势:

可以联想一下我们现实生活中的湖泊,上游有水进入湖泊,湖泊有下游流出,并进入到各个河流

数据湖也是一样的,上游业务系统存储进入数据,数据在数据湖中经过治理处理后,进入到下游的各个业务系统中,然后各个业务系统再形成新的数据存储入数据湖,周而复始,形成良性循环,让数据产生更多的价值

原因

简单了解了数据湖和数仓的概念后,我们再来了解湖仓一体

湖仓一体出现的原因个人理解很简单: 数仓具有数据湖没有的功能,他俩需要形成互补,互补的结果就是湖仓一体.

数仓的存储成本较高,在一类业务上的数据分析处理更加优秀

数据湖的存储成本较低,主要针对异构的数据挖掘

这么一结合不就搞定了很多问题,举例: 湖仓一体支持数据在数仓和数据湖之间流动,可以将最近要分析的某类数据从数据湖中提取到数仓中进行更好的分析,也可以将数仓中暂时用不到的数据转入数据湖进行低成本存储,降低成本.

并且湖仓一体提供了统一的元数据,减少了第二代双层湖仓一体的ETL工作,也相当于减少系统的复杂度,将系统的稳定性下沉.

思考

湖仓一体架构应该是一种针对数据存储/分析/处理的一整套服务方案的集合,越做开发其实越能体会到数据量的增长,多个系统间数据的交互其实才是面临的最大问题,普通的增删改查其实没有任何难度可言,只有这种系统层面的问题才是真正难以解决的.

即使有了湖仓一体的思想和理念,但是如何实现也存在很多问题,目前暂时没有太多头绪,希望后续能在大厂的相关实践中找到答案!

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
12天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
36 2
|
2月前
|
存储 数据可视化 数据管理
基于阿里云服务的数据平台架构实践
本文主要介绍基于阿里云大数据组件服务,对企业进行大数据平台建设的架构实践。
716 2
|
6月前
|
机器学习/深度学习 存储 人工智能
从大数据平台CDP的架构看大数据的发展趋势 2
从大数据平台CDP的架构看大数据的发展趋势
|
4月前
|
SQL 存储 分布式计算
【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)
【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)
179 0
|
4月前
|
存储 分布式计算 Hadoop
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
118 0
|
1月前
|
存储 SQL 机器学习/深度学习
通用数据湖仓一体架构正当时
通用数据湖仓一体架构正当时
62 2
|
6月前
|
存储 分布式计算 Hadoop
【大数据处理框架】Hadoop大数据处理框架,包括其底层原理、架构、编程模型、生态圈
【大数据处理框架】Hadoop大数据处理框架,包括其底层原理、架构、编程模型、生态圈
135 0
|
4月前
|
监控 物联网 大数据
助力工业物联网,工业大数据之服务域:AirFlow的架构组件【三十二】
助力工业物联网,工业大数据之服务域:AirFlow的架构组件【三十二】
46 0
|
4月前
|
存储 分布式计算 大数据
首批!阿里云MaxCompute完成中国信通院基于无服务器架构大数据平台测试
近日,阿里云计算有限公司MaxCompute产品顺利完成中国信通院首批无服务器架构(Serverless)大数据平台测试。
221 0
|
4月前
|
存储 数据采集 大数据
大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]
大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]
108 0