当前位置:网站首页>数据湖(一):数据湖概念
数据湖(一):数据湖概念
2022-08-02 11:45:00 【InfoQ】
数据湖概念
一、什么是数据湖
数据湖是一个集中式的存储库,允许你以任意规模存储多个来源、所有结构化和非结构化数据,可以按照原样存储数据,无需对数据进行结构化处理,并运行不同类型的分析对数据进行加工,例如:
大数据
处理、实时分析、机器学习,以指导做出更好地决策。
二、大数据为什么需要数据湖
当前基于Hive的离线数据仓库已经非常成熟,在传统的离线数据仓库中对记录级别的数据进行更新是非常麻烦的,需要对待更新的数据所属的整个分区,甚至是整个表进行全面覆盖才行,由于离线数仓多级逐层加工的架构设计,数据更新时也需要从贴源层开始逐层反应到后续的派生表中去。
随着
实时计算
引擎的不断发展以及业务对于实时报表的产出需求不断膨胀,业界最近几年就一直聚焦并探索于实时数仓建设。根据数仓架构演变过程,在Lambda架构中含有离线处理与实时处理两条链路,其架构图如下:

正是由于两条链路处理数据导致数据不一致等一些列问题所以才有了Kappa架构,Kappa架构如下:

Kappa架构可以称为真正的实时数仓,目前在业界最常用实现就是Flink + Kafka,然而基于Kafka+Flink的实时数仓方案也有几个非常明显的缺陷,所以在目前很多企业中实时数仓构建中经常使用混合架构,没有实现所有业务都采用Kappa架构中实时处理实现。Kappa架构缺陷如下:
- Kafka无法支持海量数据存储。对于海量数据量的业务线来说,Kafka一般只能存储非常短时间的数据,比如最近一周,甚至最近一天。
- Kafka无法支持高效的OLAP查询,大多数业务都希望能在DWD\DWS层支持即席查询的,但是Kafka无法非常友好地支持这样的需求。
- 无法复用目前已经非常成熟的基于离线数仓的数据血缘、数据质量管理体系。需要重新实现一套数据血缘、数据质量管理体系。
- Kafka不支持update/upsert,目前Kafka仅支持append。
为了解决Kappa架构的痛点问题,业界最主流是采用“批流一体”方式,这里批流一体可以理解为批和流使用SQL同一处理,也可以理解为处理框架的统一,例如:Spark、Flink,但这里更重要指的是存储层上的统一,只要存储层面上做到“批流一体”就可以解决以上Kappa遇到的各种问题。数据湖技术可以很好的实现存储层面上的“批流一体”,这就是为什么大数据中需要数据湖的原因。
三、数据湖与数据仓库的区别
数据仓库与数据湖主要的区别在于如下两点:
- 存储数据类型
数据仓库是存储数据,进行建模,存储的是结构化数据;数据湖以其本源格式保存大量原始数据,包括结构化的、半结构化的和非结构化的数据,主要是由原始的、混乱的、非结构化的数据组成。在需要数据之前,没有定义数据结构和需求。
- 数据处理模式
在我们可以加载到数据仓库中的数据,我们首先需要定义好它,这叫做写时模式(Schema-On-Write)。而对于数据湖,您只需加载原始数据,然后,当您准备使用数据时,就给它一个定义,这叫做读时模式(Schema-On-Read)。这是两种截然不同的数据处理方法。因为数据湖是在数据使用时再定义模型结构,因此提高了数据模型定义的灵活性,可满足更多不同上层业务的高效率分析诉求。


边栏推荐
猜你喜欢
随机推荐
基于深度学习的裂缝检测技术
SQL function TRIM
打破千篇一律,DIY属于自己独一无二的商城
The sitcom "Re-Walking the Long March" was staged
How to connect TDengine through DBeaver?
[kali-information collection] (1.9) Metasploit + search engine tool Shodan
【kali-信息收集】(1.9)Metasploit+搜索引擎工具Shodan
Learning Experience Sharing Seven: YOLOv5 Code Chinese Comments
ASP.NET Core 6框架揭秘实例演示[31]:路由“高阶”用法
ansible模块--copy模块
大疆P4M云遮挡矫正
Oracle降低高水位
leetcode: 200. Number of islands
Excel dynamic chart production
喜迎八一 《社会企业开展应聘文职人员培训规范》团体标准出版发行会暨橄榄枝大课堂上线发布会在北京举行
DTG-SSOD:最新半监督检测框架,Dense Teacher(附论文下载)
ansible模块--yum模块
Axure谷歌浏览器扩展程序下载及安装方法(免翻墙)
【Acunetix-Forgot your password】
小程序插件的生态丰富,加速开发建设效率