DataAn《七坛米》036号消零专题2021.10.10开始

数据湖、Delta Lake

2023-02-16  本文已影响0人  某张三
数据湖:

数据存储架构+数据处理工具的一套解决方案。
概念:
数据湖就是一个巨大的数据集合,汇聚了来自各个系统的任意数据格式的原始数据(作为数据库),并且能够对湖泊(湖中的数据)进行分析,进行水的流出(作为数据源)。
特点:
原始数据:海量原始数据集中存储,无需加工。任意数据类型。
按需使用:使用者按需处理,不需要移动数据即可计算。数据湖通常提供了多种数据计算引擎供用户来选择。常见的包括批量、实时查询、流式处理、机器学习等。

传统大数据技术架构存在以下存储层方面的一些痛点:
1、并发读写;
2、难以数据更新;
3、海量元数据导致metadata不堪重负;
4、大量小文件。
为了解决存储层痛点 , 应运而生的数据湖存储层(Deltalake、Hudi、Icebreg)

如Delta Lake是如何解决以上问题的?
1、支持ACID事务,乐观并发控制;
2、支持更多种类的更新模式,比如Merge/Update/Delete等操作,配合流式写入或者读取的支持,让实时数据湖变得水到渠成;
3、支持版本回溯,避免一次误操作或者代码逻辑而无法恢复的灾难性后果;
4、基于HDFS存储的元数据系统,解决metastore不堪重负的问题;
5、文件compaction机制、标记删除机制解决小文件问题。

DeltaLake的简单设计

Delta表没有独自发明一种新文件存储格式,而是复用parquet。以parquet文件作为最基本的操作粒度,将文件数据的更新、删除、新增、覆盖、流批写,版本回溯等等都最终抽象成两个动作:
1、新增文件;
2、标记删除文件。
在delta的meta文件目录记录某次批、流写新增了哪些文件、删除了哪些文件。
delta表的组成:
1、Parquet文件;
2、新增、标记删除文件 的记录文件。
所以可以看作,Delta Lake = Parquet文件 + 元数据日志文件 + 一组操作的API (依付于计算引擎)

上一篇下一篇

猜你喜欢

热点阅读