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

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

Kappa 架构可以称为真正的实时数仓,目前在业界最常用实现就是 Flink + Kafka,然而基于 Kafka+Flink 的实时数仓方案也有几个非常明显的缺陷,所以在目前很多企业中实时数仓构建中经常使用混合架构,没有实现所有业务都采用 Kappa 架构中实时处理实现。Kappa 架构缺陷如下:
-
Kafka 无法支持海量数据存储。对于海量数据量的业务线来说,Kafka 一般只能存储非常短时间的数据,比如最近一周,甚至最近一天。
</

本文回顾了数据湖的概念,解释了大数据为何需要数据湖,特别是针对Kappa架构的不足。接着介绍了Apache Iceberg,一种开放表格式,支持大规模数据分析,提供高性能的读写、ACID事务和元数据管理,适用于Spark、Flink等计算引擎,旨在解决批流一体的存储问题。
最低0.47元/天 解锁文章
1637

被折叠的 条评论
为什么被折叠?



