Flink维表方案选型

Iceberg

Iceberg 采用全量预加载数据的方式将维度表数据全部加载到内存中进行关联,虽然可以避免频繁访问外部数据库,但对计算节点的内存消耗很高,不能适用于数量很大的维度表。除此之外,当 Iceberg 维表数据更新后,可能会存在一定的延迟,导致 Lookup Join 获取的数据不是最新的。这是因为 Iceberg 的数据更新操作(如插入、删除、修改)涉及到数据的重写和元数据的更新等复杂过程。最后,Iceberg 不适用于数据频繁写入的场景,频繁的写入 Iceberg 会产生大量的小文件。这会增加 Lookup Join 时文件系统的开销,因为需要打开和读取更多的文件。可以通过定期进行文件合并操作(Iceberg 支持文件合并策略)来减少小文件的数量,提高文件系统的读取效率,进而提升 Lookup Join 性能。

Paimon

Apache Paimon 是一个湖格式,结合 Flink 及 Spark 构建流批处理的实时湖仓一体架构。Paimon 创新的结合湖格式与 LSM 技术,给数据湖带来了实时流更新以及完整的流处理能力。Paimon 表支持作为维表做 Lookup Join,相较于 Iceberg 表,Paimon 表的优势在于实现了更好的缓存、以及支持更大的数据量。Lookup Join Iceberg 表时会将所有数据缓存在内存中,所以数据量大时容易造成 OOM,但是 Paimon 表支持内存、本地磁盘以及远端存储三级存储策略,所以对维表的数据量没有太大的限制。

Paimon 针对维表点查做 repartition 等优化,平衡了内存使用与性能。在维表数据 100w 行,单并发的场景下可以支持的查询 QPS 达到 50000 QPS。使用 Paimon 作为维表,其支持三种方式产生 CDC 数据,因此能很好的支持双流 join 查询维表。Paimon 作为 Flink 维表的缺点在于数据更新的速度没有 kv 快,但也可以覆盖大部分业务场景。

HBase 与 Redis

HBase 与 Redis 作为 KV 存储在 Flink 维表应用时具有相似性。两者都适用于需要维表写入立即可见的极端情况。同时使用 KV 作为 Flink 维表的成本比湖存储要高。

Doris

Doris 是一个基于 MPP 架构的分布式列式存储数据库,具有高性能、高可用性和高扩展性,适用于大规模数据分析和实时查询场景,特别是对实时性要求较高的场景。但它对实时性要求极高的场景可能不如 HBase,且数据更新和删除操作相对较慢。目前 Flink 对 Doris 的点查时间延迟在几百毫秒,相较于使用 Paimon 作为维表没有优势。

Hologres

针对 Hologres 的点查仅仅在使用主键作为 Join Key 的场景下才能够达到毫秒级延迟。

总结

点查时间延迟 内存资源开销 支持双流 Join 稳定性 建议维表大小 维表实时性 存储状态
MySQL 100毫秒级 开销低 支持 稳定性低 GB级别 读入即可见
Iceberg 毫秒级 开销较大 不支持 文件格式,稳定性高 100MB级别 存在ck延迟
Paimon 10毫秒-100毫秒 开销适中 支持 文件格式,稳定性高 GB级别 存在ck延迟
Doris 100毫秒级 开销低 不支持 服务,稳定性低 GB级别 读入即可见
Hologres 毫秒级(主键查询)/ 100毫秒级(非主键查询) 开销低 支持 服务,稳定性低 GB级别 读入即可见
HBase 毫秒级 开销低 不支持 服务,稳定性低 TB级别 读入即可见
Redis 毫秒级 开销低 不支持 服务,稳定性低 GB级别 读入即可见

相关推荐
zskj_qcxjqr21 小时前
告别传统繁琐!七彩喜艾灸机器人:一键开启智能养生新时代
大数据·人工智能·科技·机器人
每日新鲜事21 小时前
Saucony索康尼推出全新 WOOOLLY 运动生活羊毛系列 生动无理由,从专业跑步延展运动生活的每一刻
大数据·人工智能
在未来等你1 天前
Kafka面试精讲 Day 15:跨数据中心复制与灾备
大数据·分布式·面试·kafka·消息队列
阿里云大数据AI技术1 天前
Lazada 如何用实时计算 Flink + Hologres 构建实时商品选品平台
flink
计算机编程-吉哥1 天前
大数据毕业设计-基于Python的中文起点网小说数据分析平台(高分计算机毕业设计选题·定制开发·真正大数据)
大数据·hadoop·计算机毕业设计选题·机器学习毕业设计·大数据毕业设计·大数据毕业设计选题推荐·大数据毕设项目
阿里云大数据AI技术1 天前
淘宝闪购基于Flink&Paimon的Lakehouse生产实践:从实时数仓到湖仓一体化的演进之路
数据库·flink
鸿乃江边鸟1 天前
Flink中的 BinaryRowData 以及大小端
大数据·sql·flink
MicroTech20251 天前
微算法科技(NASDAQ: MLGO)采用量子相位估计(QPE)方法,增强量子神经网络训练
大数据·算法·量子计算
b***25111 天前
深圳比斯特|多维度分选:圆柱电池品质管控的自动化解决方案
大数据·人工智能
Flink_China1 天前
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
大数据·flink