专业书籍精读 · Fundamentals of Data Engineering · 第 11 章
Fundamentals of Data Engineering · Ch 11 · The Future of Data Engineering · Reis & Housley · 2022
你刷短视频、点外卖,背后都有一群人把海量数据从各处搬来、整理好、送到报表和推荐算法手里——这就是数据工程师。全书最后一章,作者放下具体技术,抬头问一句:十年后这份工作还在吗?会变成什么样?他们的回答是:干活的工具会一直换,但「把数据从产生一路送到使用」这件事本身不会消失。
十多年前,一家公司想分析大数据,得先养一支小队专门伺候一堆机器:装软件、修故障、调参数。今天,一个新手注册个云账号,下午就能对上亿行数据跑查询。工具越来越省事,数据工程师却没有失业,反而更抢手。
门槛降低后,小团队也能做以前只有大厂才做得起的事;数据工程师的价值从「会搭系统」挪到「懂业务、管好数据、把数据接进产品」。一句诚实的代价:这些都是作者的预测,不是定论——「直播式」处理更快,也更贵、更难排错,不是每家都需要。
工具会一直换,把数据从产生送到使用的这条路不会消失;苦活交给云,人去做更值钱的判断。
想看生命周期为何不变、复杂度下降、云上「数据操作系统」、企业化、角色重组、从现代数据栈到实时数据栈,以及 Iceberg、Arrow、Pinot 的实证? → 切到精读版
你以为工具越来越傻瓜化,数据工程师就要被取代,其实正相反:被自动化掉的是「伺候基础设施」的苦活,生命周期本身——生成、存储、采集、转换、服务,加上安全、数据管理、DataOps 这些底层关注点——一个都不会消失。本章是作者对未来的几条押注:复杂度持续下降;云服务长成一层可互操作的「数据操作系统」;数据工程变得更「企业化」、更重管理;岗位边界重组;以及从批处理为主的现代数据栈走向流式、与应用融合的实时数据栈。
全书最后一章,Part III 收尾,紧接第 10 章「安全与隐私」。前十章讲的是今天怎么做;本章是作者基于这些原理对未来几年的判断,现实里对应「下一代数据平台该押什么」这类架构与职业决策。
数据工具的更替快得吓人:2010 年前后的主角是自建 Hadoop 集群,几年后是 Spark,再几年是 Snowflake、BigQuery 加 dbt、Fivetran 拼成的「现代数据栈」,接着是湖仓和流式数据库。一个工程师如果只学工具,每三五年就要清零一次。本章要回答:在这样的更替里,什么会变、什么不会变,人该把精力押在哪?不想清楚的代价是两头落空:要么死守过时的栈,要么追每一个新名词,却始终没把「数据可靠地送到用户手里」这件事做好。
作者的第一条判断是全书的底:生命周期和底层关注点是稳定的抽象,工具只是它在某个年代的实现。Hadoop 时代你也要采集、存储、转换、服务;换成云数仓,这些阶段一个没少,只是每一步由谁、用什么来做变了。作者甚至认为数据工程的重要性会上升——数据越被企业依赖,管好这条链路的人越关键。
早年的大数据意味着自己采购机器、部署 Hadoop、调 JVM 参数、半夜处理坏盘,只有大公司养得起这样的团队。托管服务与无服务器数仓把这层复杂度收走:按查询扫描量或计算时长付费,不用管集群;采集也有现成的托管连接器。结果是大数据能力被「民主化」,一个几人的小团队也能处理 TB 级数据。作者的推论:数据工程师会从底层运维往上走,把时间花在架构、数据质量和业务价值上——不是没活干,而是活换了一层。
这是本章最有画面感的类比。操作系统给应用提供标准服务:文件系统、进程调度、设备驱动,应用不必各自实现。作者认为云上的数据服务正长成同样的一层:对象存储是「文件系统」,各种查询引擎和处理框架是「应用」,而让它们能协作的是标准化的接口——通用的对象存储 API、Parquet / Avro 这类开放文件格式、新一代元数据目录(取代 Hive Metastore 这类老方案),以及编排工具从「只管跑任务」长成能感知数据资产、血缘与质量的平台。互操作越好,换掉一个引擎的代价越低,数据不必为每个工具再搬一次。
「enterprisey」在工程师嘴里常是贬义——繁琐、官僚。作者反过来用:底层工具越省事,数据管理、DataOps、治理、数据质量这些过去被嫌「太企业」的事,就越成为数据工程师的主业。机器不用操心了,剩下的难题是:这张表谁负责、口径是否一致、出错能不能被发现、谁有权看。
作者预计岗位边界会继续重排:数据工程、分析工程、ML 工程、软件工程之间的重叠变大。软件工程师会被要求更懂数据(流处理、数据建模),数据工程师则往上贴近业务与应用。头衔可能变,生命周期上的工作不会少。
现代数据栈(modern data stack, MDS)是 2020 年前后的主流配方:托管连接器把数据批量采进云数仓,用 SQL 在仓内转换(ELT),再接 BI 报表。它便宜、即插即用,但本质是批处理,数据常晚几小时到一天,主要服务「人看报表」。作者押注的下一站是实时数据栈(live data stack):数据以流的形式进入,在流上转换,落进能秒级查询的实时分析数据库,并直接驱动应用功能——推荐、风控、动态定价。与之相伴的是数据与应用的融合:应用不再只是数据的来源,而是实时消费分析结果;应用与 ML 之间形成更紧的反馈回路,模型根据刚发生的行为持续调整。作者也承认流式的数据建模、工具成熟度都还在路上。
作者点出一个常被工程师忽略的事实:全世界用得最多的数据平台是电子表格。大量真实决策跑在散落各处的表格里,像宇宙中的暗物质,看不见却分量巨大。他们预测会出现一类新工具:保留表格的交互体验,后端接云上的分析引擎,让业务人员直接摆弄海量数据。对数据工程师的启示是:别只服务会写 SQL 的人。
表 1 · 现代数据栈 vs 实时数据栈
| 维度 | 现代数据栈(批) | 实时数据栈(流) |
|---|---|---|
| 数据新鲜度 | 小时到天 | 秒级 |
| 主要消费者 | 分析师、报表 | 应用功能、在线模型 |
| 典型组件 | 托管连接器 + 云数仓 + dbt + BI | Kafka 类事件流 + 流处理 + 实时分析库 |
| 出错后 | 改好代码重跑一遍 | 要处理乱序、迟到与状态,回放更难 |
| 代价 | 新鲜度不够,难直接驱动产品 | 常驻资源更贵、排错与建模更难、人才更少 |
| 适合 | 日报、财务、多数内部分析 | 风控、推荐、库存、运营看板 |
表 2 · 复杂度下降之后,精力往哪里押
| 选择 | 得到 | 代价 / 风险 |
|---|---|---|
| 自建开源栈 | 可控、可深度定制、无厂商锁定 | 运维人力重,团队精力被底层吃掉 |
| 全托管 / 无服务器 | 小团队即可上线,按量付费 | 账单随用量失控、迁移成本高 |
| 开放格式 + 可换引擎 | 数据只存一份,引擎可替换 | 要自己拼装与治理多个组件 |
| 投资数据管理与 DataOps | 可信度、口径一致、问题可发现 | 见效慢,难以向上量化 |
判据很朴素:新鲜度要求决定批还是流——业务在分钟级内要据此行动才上流,否则批更便宜也更好排错;差异化决定自建还是托管——不是你核心竞争力的那层,就交给云。
面试被问「如果今天从零搭数据平台」,本章给的骨架是:先按生命周期列出五个阶段与底层关注点,再逐层选工具;数据落在对象存储、用开放格式和统一目录,避免锁死在单一引擎;默认批处理,只为确有秒级需求的场景(反欺诈、推荐)开一条流式链路;把人力省下来投在数据质量、口径与权限上。职业上同理:学工具,但把工具挂在生命周期这张地图上,下一代工具来时就只是换一个零件。
开源 / 大厂实证
① 生命周期(生成、存储、采集、转换、服务)与六个底层关注点不会消失,工具只是某个年代的实现。
② 复杂度在下降:托管与无服务器把运维收走,大数据能力被民主化,小团队也能处理 TB 级数据。
③ 云服务正长成「数据操作系统」:对象存储 + 开放格式 + 元数据目录 + 更聪明的编排,引擎可互换。
④ 「企业化」不是贬义:数据管理、DataOps、治理与质量将成为数据工程师的主业。
⑤ 岗位边界会重排,软件工程师更懂数据,数据工程师更贴近业务与应用。
⑥ 现代数据栈是批、给人看;实时数据栈是流、直接驱动应用,并与 ML 形成反馈回路。
⑦ 选型判据:新鲜度需求决定批或流,差异化决定自建或托管。
⑧ 电子表格是最大的「暗物质」数据平台,别只服务会写 SQL 的人。
⑨ 这些是预测:湖仓与开放格式已应验,而大模型带来的变化不在本章视野内。