第 1 篇:Lakehouse 到底在解决什么问题
很多团队一说到 lakehouse,先想到的是“对象存储更便宜”或者“统一批流查询”。这些都属于结果,但不是问题本身。
lakehouse 想解决的核心矛盾,其实是传统数据仓库和数据湖在组织方式上的断层。
传统数仓的优点是治理强、性能稳、交付清晰,但代价往往是成本高、扩展慢、引擎绑定重。数据湖的优点是存储弹性大、接入自由,但问题是治理弱、元数据混乱、数据质量和一致性难控。
lakehouse 试图做的,是把这两边最关键的能力重新拼起来:
- 用更开放的存储层承接数据规模
- 用表格式和元数据层补足治理与事务能力
- 用多引擎接入提高分析与处理灵活性
不要把 lakehouse 理解成单一产品
真正需要先理解的是,lakehouse 更像一种平台组合方式,而不是一个单一软件名字。
一个成熟的 lakehouse 通常至少包含:
- 对象存储
- 表格式
- Catalog / Metastore
- 计算引擎
- 编排与质量控制
如果只替换其中一层,比如只把数据搬到对象存储,或者只上 Iceberg,但摄入、权限、质量、消费路径都没变,那通常不算真正完成了 lakehouse 改造。
真正应该先问的是你要解决哪类平台问题
在动手之前,更重要的问题通常是:
- 你是要降存储成本,还是要做多引擎共享。
- 你是要提升批流处理一致性,还是要改治理模型。
- 你现有的痛点在 ETL、分析性能,还是在元数据与权限。
如果这些问题没答清楚,后面选技术栈时就会很容易沦为跟风。