数据湖与湖仓一体 可视化实验室
用交互式 SVG 呈现数据湖架构、Iceberg/Delta Lake 表格式、数据分层、查询引擎等湖仓一体核心技术。八个模块,纯原生实现。
数据湖架构与对象存储
HDFS / S3 对象存储承载海量原始数据。缺乏治理的数据湖退化为“数据沼泽”;加上目录、Schema 与访问控制才是真正的数据湖。切换观察差异。
数据湖 vs 数据沼泽
数据沼泽:数据随意堆放、无 Schema、无目录、无人能找到。数据湖:通过 Catalog(如 Hive Metastore / Glue)登记、打标、设权限,数据可被发现与信任。
湖仓一体:统一数据架构
Lakehouse 在对象存储之上叠加开放表格式,实现 ACID 事务、Schema 治理与 BI/ML 统一访问,兼具数据湖的低成本与仓库的管理能力。
Lakehouse 能力
逐项开启能力:开放表格式(Iceberg/Delta/Hudi)提供 ACID 与 Schema;元数据层支撑时间旅行;统一访问让 BI 与 ML 读同一份数据,避免搬迁与孤岛。
Iceberg 表格式与时间旅行
Iceberg 用 metadata.json → manifest list → manifest → data file 的分层元数据管理表。每个快照对应一次表状态,支持时间旅行与回滚。
快照与时间旅行
选择不同快照查看表在该时间点的数据文件组成。manifest 记录每个 data file 的分区与统计信息,查询计划时只读取相关 manifest,无需列举全部文件。
Delta Lake 事务日志
_delta_log 中每个 JSON 是一次原子提交,记录增删文件。OPTIMIZE 合并小文件,Z-ORDER 按列聚簇以加速查询裁剪。
事务日志演进
点击“写入”追加提交与小文件;点击“OPTIMIZE”把小文件合并为大文件;点击“Z-ORDER”按选定列重排聚簇。观察 data file 数量与布局变化。
数据分层:Medallion 架构
Bronze(原始)→ Silver(清洗)→ Gold(聚合)逐层提纯。越往上层质量越高、越贴近业务,记录数可能减少但价值密度提升。
Medallion 分层
Bronze 落地原始数据(含脏数据/重复);Silver 去重、类型校正、关联;Gold 按业务域聚合,供 BI 直接消费。点击各层查看其处理动作与质量。
Schema 演化与合并
开放表格式支持 Schema Evolution:新增列对旧文件读为 NULL;Schema Merge 合并不同版本分区。无需重写历史数据即可演进。
Schema 版本
点击“新增列/删除列/改名”演进 Schema。新列对旧文件读出 NULL,旧列对新文件保留兼容。MERGE SCHEMA 自动合并写入门禁。
数据跳过与文件裁剪
每个 data file 记录各列 Min/Max 统计。查询时按谓词跳过不在区间的文件;Z-ORDER 把高频过滤列聚簇,使跳过更高效。
文件裁剪
拖动谓词区间,文件按 Min/Max 与区间相交判定是否读取。开启 Z-ORDER 后同列值聚拢,相交文件减少,跳过率显著提升。
查询引擎与向量化执行
Spark 适合大规模批处理与 ETL;Trino/Presto 专注交互式即席查询,向量化执行按列批量处理,提升 CPU 缓存命中率。
查询执行流水线
选择引擎并运行查询,观察 SQL → 逻辑计划 → 优化 → 物理计划 → 向量化执行的阶段耗时。Trino 向量化执行让即席查询达到亚秒级。