专业书籍精读 · Fundamentals of Data Engineering · 第 7 章

采集

Fundamentals of Data Engineering · Ch 7 · Ingestion · Reis & Housley · 2022

EN →

这一章讲什么?

公司每天早上的销售报表,数字来自订单系统、支付系统、App 埋点、合作方发来的表格——它们散在几十个地方。这一章讲的是:怎么把数据从这些「别人家」稳稳地搬进自己的数据平台。这一步叫采集。它看起来只是搬运,却是整条数据流水线最容易出事的地方。

先说个怪事

我们总说「批处理」和「实时流」是两种东西。可仔细想想:订单一笔一笔在发生,从来没有停过。所谓「每天一批」,只是我们在一条永不停歇的河上,每隔 24 小时拦了一道闸。批和流不是两类数据,而是你决定多久开一次闸。

旧世界为什么难

核心机制直觉

带来了什么 / 该怎么选

多数团队的默认做法是:能定时批量搬就批量搬,只有业务真的需要「秒级看到」时才上实时流;能买现成的搬运工具就别自己写。一句诚实的代价:实时流让数据更新鲜,但它要求一直有人盯着、处理迟到和重复,成本和复杂度都明显更高。

一句话记住

采集是把数据从别人家搬进自己家:批和流只是开闸的频率不同;只搬变化、原样先入库、准备好迟到和重复,比追求「实时」更要紧。

想看有界 / 无界数据、推 · 拉 · 轮询三种模式、快照与增量抽取、ETL 与 ELT 之争、流式采集的迟到 · 乱序 · 重复 · 死信队列,以及 Debezium、Airbyte 的实证? → 切到精读版