湖仓一体架构的理解

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 近日因公司业务问题,突发兴致,想了解一下数仓及相关架构,恰逢阿里云有湖仓一体架构的直播,遂听之,但是直播内容讲的比较浅,于是深入了解之,并记录如下个人所得笔记,如有偏驳,后续改之.

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

概述

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

发展

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

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

理解

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

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

数据仓库

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

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

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

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

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

数据湖

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

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

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

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

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

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

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

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

ps:

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

数据湖使用的正确姿势:

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

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

原因

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

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

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

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

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

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

思考

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

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

相关实践学习
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
目录
相关文章
|
1月前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
2月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
149 1
|
2月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
66 3
|
1月前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
157 3
【赵渝强老师】基于大数据组件的平台架构
|
26天前
|
消息中间件 Java Kafka
实时数仓Kappa架构:从入门到实战
【11月更文挑战第24天】随着大数据技术的不断发展,企业对实时数据处理和分析的需求日益增长。实时数仓(Real-Time Data Warehouse, RTDW)应运而生,其中Kappa架构作为一种简化的数据处理架构,通过统一的流处理框架,解决了传统Lambda架构中批处理和实时处理的复杂性。本文将深入探讨Kappa架构的历史背景、业务场景、功能点、优缺点、解决的问题以及底层原理,并详细介绍如何使用Java语言快速搭建一套实时数仓。
131 4
|
1月前
|
存储 SQL 缓存
AnalyticDB 实时数仓架构解析
AnalyticDB 是阿里云自研的 OLAP 数据库,广泛应用于行为分析、数据报表、金融风控等应用场景,可支持 100 trillion 行记录、10PB 量级的数据规模,亚秒级完成交互式分析查询。本文是对 《 AnalyticDB: Real-time OLAP Database System at Alibaba Cloud 》的学习总结。
62 1
|
2月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
39 9
|
2月前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
144 1
|
2月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
69 3
|
2月前
|
存储 SQL 缓存
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
从 3.0 系列版本开始,Apache Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化

热门文章

最新文章

下一篇
DataWorks