如果说有一本书定义了过去十年后端工程师的思维方式,那一定是Martin Kleppmann的《Designing Data-Intensive Applications》(简称DDIA)。这本被华人工程师亲切称为"数据密集型应用设计圣经"的著作,自2017年出版以来几乎成了所有架构师案头必备的参考。而现在,时隔近十年,Kleppmann带着联合作者Chris Riccomini推出了第二版——这不是一次简单的修订,而是一场对整个分布式系统知识体系的重构。
在这场与Gergely Orosz(The Pragmatic Engineer作者)长达85分钟的深度对话中,Kleppmann不仅回顾了第一版的创作初衷,更系统性地阐述了第二版的核心变化:从MapReduce的退场到流处理的主导地位,从传统分片的式微到Serverless的崛起,从工程伦理到形式化验证的AI革命。如果你是一名后端工程师、数据工程师或架构师,这期访谈传达的信息量堪比重读一遍DDIA本身。
| 项目 | 内容 |
|---|---|
| 视频标题 | The Future of Backend: Martin Kleppmann on DDIA 2nd Edition, AI, and More |
| 频道 | The Pragmatic Engineer (Gergely Orosz) |
| 时长 | 约85分钟 |
| 发布时间 | 2026年4月 |
| 核心主题 | DDIA第二版的核心更新、分布式系统认知演变、AI时代后端工程的未来 |
| 核心人物 | Martin Kleppmann(剑桥大学副教授、DDIA作者)、Chris Riccomini(联合作者) |
Kleppmann的背景非常独特——他不是传统的学者,而是一位从创业一线走向学术殿堂的实践者。他联合创办了Rapportive(一个在Gmail中嵌入LinkedIn个人资料卡片的YC创业项目),后来被LinkedIn收购。
在Rapportive期间,他的团队反复撞上数据库性能的墙壁。用他自己的话说,他们在做关键架构决策时是"溺水"的——没有存储引擎、复制、索引、一致性这些底层机制的心智模型,只能靠试错和碰壁。Kleppmann在LinkedIn期间亲眼见证了Kafka从内部工具到开源项目的过程,看着一个严肃的分布式系统如何在实践中做出每一个权衡决策。
DDIA就是他当初希望拥有的那本书。 这句话本身就是最好的定位——这本书不是给造数据库的人看的,而是给选数据库的人看的。你是那个需要设计Schema、调试慢查询、争论要不要加缓存的人,DDIA要给你的是直觉(intuition),让你在生产环境出问题时能提出假设而不是瞎猜。
[延伸分析] 这一点在2026年尤其重要。当AI编程工具让写代码变得更容易时,"为什么这样设计"的理解力反而成了稀缺能力。能快速生成一个CRUD API的人很多,但能解释为什么这个场景应该用Saga模式而不是两阶段提交的人很少。DDIA的第二版恰恰填补了这层认知。
这是第二版最大的结构性变化之一。在第一版中,扩展(scaling)的讨论主要集中在如何把数据分散到多台机器上——分片(sharding)、分区(partitioning)、多主复制。2026年的现实却截然不同:
分片并没有消失,而是变成了专家级话题。 第二版保留了分区章节,因为当你真的需要它时,后果严重到不能忽视。但定位从"你很快会需要这个"变成了"你可能暂时不需要,但当你需要时必须做对"。
[延伸分析] 这反映了一个更深层的技术趋势:基础设施的抽象层级正在不断上升。十年前,理解分片原理是后端工程师的基本功;今天,更重要的是理解何时该用托管服务、何时需要自建。Kleppmann把这种认知转变写进了书里——工程师的角色正在从"造轮子的人"变成"选轮子的人"。
Kleppmann在这个话题上态度鲜明:多地域部署和多云策略不是技术最佳实践,而是风险与成本的商业权衡。 工程师的角色不是给出"应该做"或"不应该做"的结论,而是清晰地呈现权衡——额外的延迟、更高的运维复杂度、更多的成本 vs 对区域性故障的韧性、对供应商锁定的规避。
DDIA给你的是描述这些权衡的词汇表(vocabulary),不是最终裁决(verdict)。
[延伸分析] 这个观点在2026年的AI基础设施领域特别有现实意义。训练一个大模型需要数千块GPU的集群,推理服务需要低延迟的全球部署。是否要做多地域推理?成本差异可能是数百万美元。这时候DDIA提供的概念框架——一致性级别、复制延迟、故障恢复——就成了做出正确商业决策的基石。
第一版有大量MapReduce的内容。到2026年,几乎没人在生产环境直接跑MapReduce了——Spark、Flink和同类框架已经完全取代了它。
但Kleppmann做了一个精妙的教学决策:保留MapReduce作为教学工具,而不是生产工具。 原因是MapReduce仍然是构建"分区批处理计算直觉"最干净的方式——数据分片、并行处理、shuffle、合并。你不需要写MapReduce代码,但你需要理解它代表的计算范式。
更重要的变化是流处理(stream processing)的崛起。第一版中流处理还是一个新兴话题;到2026年,"流优先"(streaming-first)架构已经成为主流。Apache Flink的成熟、Exactly-Once语义的实践落地、乱序数据处理策略的标准化——这些在第二版中获得了大幅扩展的覆盖。
Khola.Blog的一篇深度分析进一步指出,Lambda Architecture(同时维护批处理和流处理两条管道)在实践中是运维噩梦——你需要写两遍业务逻辑,调试两次,维护两套框架。2026年的现实是:Flink统一执行模型 + Iceberg湖仓格式 = 一次编写,批流一体。
Kleppmann用了一段非常精彩的解释,说明为什么分布式系统论文看起来如此悲观:
标准模型假设网络消息的延迟没有上限——可能100微秒到达,也可能10年后到达,也可能永远不到。时钟可以任意漂移。进程可能暂停数分钟(一次漫长的GC,一次VM迁移)。崩溃可能发生在最糟糕的瞬间。
这不是学术臆想,这是工程必需。 如果你的正确性论证依赖于"网络通常很快"或"时钟通常准确",那么当这些假设第一次被打破时(在大规模系统中,这一天迟早会来),你就会得到静默的数据损坏或脑裂。
Kleppmann强调:教科书里那些奇怪的边缘案例不是学术好奇心——现实偶尔真的会触达那些极端情况,而那正是公司登上科技新闻头条的时候(通常不是好新闻)。
这是整个访谈中最具前瞻性的观点之一。形式化验证(Formal Verification)意味着用数学方法证明一段代码满足某个规范——使用TLA+、Isabelle、Rocq、Lean、FizzBee等工具。
Kleppmann承认他在工业界从未使用过形式化验证——因为对生产时间线来说太慢、太贵了。但他认为AI时代的两个趋势可能翻转这个经济学:
合在一起,一个全新的工作流浮现:LLM写代码,同时生成机器可检查的证明来验证代码满足规范。信任边界从"人类审查者"变成了"证明检查器"。
Kleppmann在他的论文"AI Will Make Formal Verification Go Mainstream"中详细论证了这个观点。对于2026年的工程师来说,这意味着:学习TLA+或Lean可能是一项高回报的投资。
Kleppmann目前的核心研究方向是Local-First软件——数据主要存在你自己的设备上,点对点同步,离线可用,云端是可选的便利而非真相的来源。他是Local-First基础论文的共同作者。
他指出了一个大多数人不理解的难点:最难的部分不是同步——CRDT(无冲突复制数据类型)已经能处理并发编辑的合并。最难的是没有中心服务器的访问控制。
一个简单的例子:假设你撤销了一个用户对某个文档的访问权限。在撤销消息传播期间,这个用户在飞机上做了一次编辑。他的设备认为他还有权限;你的设备认为他没有。当设备重新连接时,它们对这次编辑"是否真的发生了"存在分歧。有中心服务器时,问服务器就行。没有的话,你需要一个加密协议,在每个设备上产生相同的答案,即使它们看到了不同顺序的事件。这是一个开放的研究问题。
Kleppmann在第二版中加入了一个反复出现的主题:工程师的角色越来越不只是实现功能,而是让权衡对决策者可见。 这些权衡不仅包括延迟和成本,还包括声誉风险、法律风险和社会风险。
如果你是房间里唯一理解某个功能对用户数据做了什么的人,你就有义务把风险说清楚,清楚到非工程师也能做决定。这不仅是职业道德,也是2026年技术监管环境下的生存必需。
mindmap
root((DDIA 2nd Edition<br/>核心变化))
数据层变化
B-Tree vs LSM-tree重新评估
NVMe硬件压缩改变写放大
B-Tree重回通用默认选择
云原生数据库
Aurora/Spanner/Cosmos DB
托管服务隐藏分区细节
计算层变化
MapReduce退场
保留为教学工具
Spark/Flink取而代之
流处理主导
Streaming-first架构
Flink + Iceberg湖仓
Lambda架构死亡
分布式层变化
扩展哲学转变
单机变得巨大
Scaling down同等重要
Serverless成关键构建块
多地域/多云
风险vs成本的商业决策
工程师提供词汇表而非裁决
分布式事务
2PC不适合长时AI工作流
Orchestrated Saga模式
Transactional Outbox模式
前瞻性主题
形式化验证+AI
LLM写代码+证明
信任边界转移
Local-First软件
CRDT处理同步
去中心化访问控制难题
工程伦理
让风险对非技术人可见
1. 重新评估你的存储选型。 Khola.Blog的分析指出,现代NVMe SSD的硬件压缩已经把B-Tree的写放大从200倍降到了约20倍。如果你在2020年选择了一个LSM-tree引擎(如RocksDB或Cassandra),可能值得重新评估B-Tree方案(如PostgreSQL的默认引擎)是否更适合你的通用工作负载——你可能不再需要为LSM的compaction税买单。
2. 审视你的分布式事务策略。 如果你的系统还在用两阶段提交(2PC),特别是涉及长时间运行的AI工作流或Agent编排,是时候考虑迁移到Orchestrated Saga模式 + Transactional Outbox了。Kleppmann和业界实践都指向这个方向。
3. 消灭你的Lambda Architecture。 如果你还在维护批流两条管道,看看Apache Flink + Apache Iceberg的统一方案。"批处理"已经退化为"有界流处理",你只需要写一遍管道。
4. 学一个形式化验证工具。 Kleppmann的建议是TLA+或Lean。即使你现在不用,当LLM生成的代码量超过团队审查能力时,你会感谢自己提前学了这些工具。
5. 用DDIA的框架做技术评审。 下次评估一个新数据库或新框架时,用Kleppmann的三支柱模型提问:它的可靠性保证是什么?扩展到什么规模会出问题?新加入团队的工程师能在多长时间内理解它?
这本书(和这次访谈)最大的管理价值在于建立团队共享词汇表。当团队里每个人对"最终一致性"、"幂等性"、"恰好一次处理"这些术语有统一的精确定义时,技术讨论的效率会指数级提升。Kleppmann建议组织读书小组,每周30分钟讨论一章——这可能是你今年能给团队的最高ROI投资。
DDIA第二版不是一本旧书的翻新,而是一份面向2026年后端工程师的认知升级指南——它告诉你哪些分布式系统的"常识"已经被云和AI时代改写,以及如何在新的技术版图上做出正确的架构决策。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
