For AI agents: the complete documentation index is available at https://tingfeng347.github.io/windwiki/llms.txt, the full documentation bundle is available at https://tingfeng347.github.io/windwiki/llms-full.txt, and this page is available as Markdown at https://tingfeng347.github.io/windwiki/terminology/data-engineering.md.

数据工程 · 面试清单

面试权重:★★★★☆ 数据开发 / 数仓岗核心;后端岗也常被问「你们的报表链路是怎么建的」。

机器学习与算法术语见《机器学习与深度学习》一文。


一、OLTP 与 OLAP

术语一句话释义
OLTP 联机事务处理面向业务运行:大量小事务、当前状态、行式存储、强一致
OLAP 联机分析处理面向分析:少量大扫描、历史累积、列式存储、最终一致
为什么必须分开目标冲突:OLTP 怕大扫描拖慢线上,OLAP 需要全表聚合,混用会互相伤害
行式 vs 列式存储行存读整条记录快,列存只读用到的列且压缩率高,聚合快数倍到数十倍
MPP 架构大规模并行处理:数据分片 + 多节点并行 + 汇总,是数仓引擎的主流形态
向量化执行按批处理数据而非逐行,显著提升 CPU 缓存命中率与吞吐
物化视图预计算并存储结果,查询快但需维护刷新策略
预聚合 / Cube对常用维度组合预先算好,是 BI 加速的经典手段

二、数据仓库与建模

术语一句话释义
数据仓库 Data Warehouse面向主题、集成、相对稳定、反映历史变化的数据集合,用于决策支持(Inmon 定义)
数据集市 Data Mart面向某个部门或主题的子集,可独立也可从数仓派生
为什么要分层职责清晰、复用上游、隔离变化、便于排错与权限控制
ODS 操作数据层贴源层,几乎原样落地业务库数据,不做复杂加工
DWD 明细数据层清洗、去重、规范化后的明细事实,是数据质量的关键闸口
DIM 维度层统一维表(用户、商品、时间),提供一致性视角
DWS 汇总数据层按主题轻度聚合的宽表,供上层直接复用
ADS 应用数据层直接服务报表与接口的结果层
Medallion 架构Bronze(原始)/ Silver(清洗)/ Gold(业务级)三层,是数据湖里的分层范式
维度建模Kimball 方法:以事实表 + 维度表组织面向分析的模型
事实表 Fact Table存度量值与外键,行数最多;分事务、周期快照、累积快照三类
维度表 Dimension Table存描述性属性,通常宽而矮,是切片分析的入口
星型模型事实表直接连维表,结构简单、查询快,冗余但易用
雪花模型维表再规范化拆分成多层,省空间但 JOIN 多、查询慢
星座模型多个事实表共享一组维表,是真实仓库的常态
缓慢变化维 SCD维度属性随时间变化的处理方式;Type1 覆盖、Type2 加版本行、Type3 加列
代理键 Surrogate Key数仓内部自增主键,与业务键解耦,便于处理历史与多源合并
一致性维度与总线矩阵让不同事实表能按同一维度对齐,是 Kimball 能拼成整体仓库的关键
数据粒度事实表一行代表什么,是最重要的设计决策;越细越灵活、代价是体积
范式建模面向整合的企业级建模,适合核心基础层;与维度建模按场景并用
宽表把常用维度打平到一张表,牺牲存储换查询简单,是 ADS 层的常规做法
数据血缘 Lineage追踪字段从哪来到哪去,是影响分析、排错与合规的基础能力

三、数据集成

术语一句话释义
ETL抽取 → 转换 → 加载,转换在数仓侧完成,适合算力受限或数据量小的场景
ELT抽取 → 加载 → 转换,把原始数据先入仓再用引擎算,是云数仓的主流
批处理 vs 流处理按周期批量 vs 持续增量;流处理延迟低但要处理乱序与状态
Lambda 架构批层保证准确、速度层保证时效,两套逻辑维护成本高
Kappa 架构只用流处理一套逻辑,靠重放历史保证正确性,简化了维护
CDC 变更数据捕获从数据库日志(binlog/WAL)解析增量变更,对业务零侵入
CDC 的实现方式日志解析(Debezium,主流)、触发器、时间戳轮询、快照对比
全量同步 vs 增量同步全量简单但成本高;增量高效但要处理删除、乱序与幂等
数据同步的幂等目标端按主键 upsert,或按分区覆盖,避免重复同步产生脏数据
消息队列在数据链路中的角色削峰、解耦、缓冲,常作为 CDC 到计算引擎的中间层
数据倾斜少数 key 数据量暴增导致个别任务拖慢整体;靠加盐打散、两阶段聚合、广播小表解决
小文件问题大量小文件会压垮 NameNode 与任务调度;需定期合并或写入时控制文件大小
Exactly-Once 语义端到端精确一次,靠幂等写 + 事务提交 + 检查点共同实现,需要全链路配合
水位线 Watermark流处理里判断「事件时间已到哪一步」的机制,决定何时触发窗口计算
事件时间 vs 处理时间数据真实发生的时间 vs 系统处理它的时间;乱序数据必须以事件时间为准

四、存储形态与引擎

术语一句话释义
数据湖存原始格式数据的集中存储,schema-on-read、便宜灵活,但易变「数据沼泽」
数据仓库schema-on-write、强治理、查询快,但扩展与半结构化支持弱
湖仓一体 Lakehouse在数据湖上叠加事务、schema、索引能力,兼具两者优点
开放表格式Iceberg / Delta Lake / Hudi:在对象存储上提供 ACID、时间旅行与 schema 演进
对象存储S3/OSS 类存储,便宜无限扩展,但延迟高、不支持随机写,适合作湖底座
分区与分桶分区按目录裁剪数据,分桶按哈希打散以优化 JOIN 与采样
列存格式Parquet(嵌套友好、分析主流)、ORC(Hive 生态),列式 + 压缩 + 谓词下推
谓词下推 Predicate Pushdown把过滤条件下推到存储层,只读需要的数据块
数据虚拟化 / 联邦查询不搬数据,跨源直接查询;便于探索但性能与治理难保证
计算引擎选型批:Spark/Hive;流:Flink/Kafka Streams;交互式:Presto/Trino/ClickHouse/Doris
OLAP 引擎对比ClickHouse 单表极快、Doris/StarRocks 的 JOIN 与并发更好、Druid 偏实时聚合

五、数据治理与质量

术语一句话释义
数据治理对数据的可用性、安全与合规做制度化管理,含标准、质量、安全、元数据
元数据管理技术元数据(表结构、血缘)与业务元数据(指标口径、负责人)
数据标准统一命名、编码、类型与口径,是治理能落地的前提
数据质量六维度完整性、准确性、一致性、及时性、唯一性、有效性
数据质量监控对空值率、波动、主键唯一、枚举越界等设置阈值告警,而非只看任务是否成功
任务成功 ≠ 数据正确最常见的事故形态:任务绿灯但数据全为 0 或翻倍
数据 SLA对数据产出时间的承诺(如每日 8 点前就绪),是数据链路的可用性指标
数据安全分级按敏感级别分类分级,落到字段级权限、脱敏与审计
脱敏与加密展示脱敏、存储加密、密钥托管;日志与导出同样要治理
数据生命周期热/温/冷分层存储与过期清理,控制成本
数据资产目录让使用者能找到、看懂、信任数据,是治理价值的最终体现
数据 Owner 制每张表、每个指标都有明确负责人,否则治理无人推动

六、指标与语义层

术语一句话释义
指标 Metric可被业务解读的量化口径,必须包含计算逻辑、维度与时间范围
原子 / 派生 / 复合指标基础聚合 / 原子指标 + 修饰词 + 时间周期 / 多个指标运算得出
指标口径一致性同一个指标在不同报表里数字不同,是数仓最典型也最致命的问题
语义层 Semantic Layer把指标定义集中管理,BI 与查询都从它取数,从机制上消灭口径分裂
维度 vs 度量维是「按什么看」(渠道、地区),度量是「看什么」(金额、次数)
下钻 / 上卷 / 切片 / 切块沿维度层级深入 / 汇总到更高层级 / 固定其他维度看一个维度 / 多个维度取子集
同环比与上一周期比 / 与去年同期比;要注意周期对齐与工作日差异
口径字典把每个指标的定义、公式、边界写成可查文档,是跨团队协作的基础设施
AB 实验指标区分护栏指标(不能变差)与目标指标(期望提升),避免为单一指标伤整体

七、调度与运维

术语一句话释义
DAG 有向无环图用依赖关系描述任务编排,Airflow/DolphinScheduler/XXL-Job 都基于它
调度器选型Airflow 生态强、DolphinScheduler 国产化好、Dagster/Prefect 面向数据资产
依赖与重跑上游补数后要能级联重跑,且重跑必须幂等(按分区覆盖是标准做法)
补数 Backfill回补历史分区;难点是范围界定、资源竞争与对下游的影响
任务 SLA 与优先级关键链路优先保障,避免一个慢任务拖垮所有下游
监控与数据可观测性任务级(失败/超时/延迟)与数据级(质量规则)双层监控
成本优化存算分离、冷热分层、减少全表扫描、合并小文件、按需伸缩集群

参考资料

  • Ralph Kimball《数据仓库工具箱》
  • Bill Inmon《数据仓库》
  • 阿里《大数据之路》
  • Apache Iceberg / Delta Lake / Flink 官方文档