一篇笔记。
以Hudi、Iceberg、Paimon这几个框架为例,它们支持高效的数据流/批读写、数据回溯以及数据更新。具备一些传统的实时和离线数仓不具备的特性,主要有几个方面:
如果我们基于湖框架构建出了新的数仓体系Streaming Warehouse,这样我们所有的开发都会面向Table,纯SQL操作。
这样的架构解决了核心问题:
这也是很多文章中提到的:实现批流一体计算和存储,同时支持流、批以及OLAP处理,实现了以 "Table"的形式进行数据处理。
目前可以替代的一些场景:例如可以接受端到端延迟在分钟级别,数据逻辑复杂希望离线、实时强一致,传统的以数据库为核心通过创建物化视图、存储过程等在线Serving场景等。
但是我们必须得说,上面都是未来的理想设想,当前阶段很多问题没有解决,例如端到端延迟相比纯实时场景要大很多,取决于CheckPoint的时间间隔等。
不过随着这些框架的不断迭代和发展,未来可能会不一样。