这本书讲什么

数据库有几百种,该用哪个?作者在序言里的回答是「看情况」,这本书就是在讲看什么情况。它不教某一个产品怎么用,而是把各种数据系统背后的原理摊开:数据怎么存、怎么在机器之间复制和切分、网络和时钟出问题时怎么办、一份数据怎么派生出索引、缓存和分析表。每一处都讲取舍:这样做省了什么,代价付在哪里。作者说工具变得快,原理变得慢,懂了原理就能看清每个工具的位置。

写给谁(§2):要为系统做架构决定的工程师和技术负责人,尤其是后端;想弄清手上系统底层原理的数据工程师、云平台工程师;准备系统设计面试的人;以及不满足于流行词、想知道大网站幕后怎么运转的人。作者假设你做过 Web 应用,熟悉关系数据库和 SQL,大致懂 TCP 和 HTTP;用什么编程语言无所谓。

全书约一千条参考文献(致谢),每章末尾一份(§4),多数能免费在网上读到。作者在 GitHub 上维护着一份最新的链接(ept/ddia2-references)。读纸书的话,想追某篇论文,按标题搜就行。

全书地图

第二版不分部分,本站按内容把十四章分成五块。箭头是「后面的要用到前面的」:第 6 到 10 章前后接得最紧,第 10 章几乎每一节都在回收第 6、8、9 章留下的问题。

地基 取舍与需求 1 取舍 2 需求 一台机器 存储与编码 3 数据模型 4 存储引擎 5 编码 多台机器 分布式数据 6 复制 7 分片 8 事务 9 麻烦 10 共识 第 10 章收拢 6、8、9 章的问题 派生数据 一份变多份 11 批处理 12 流处理 13 数据流的哲学 做正确的事 伦理与法律 14 伦理 第 4 章的日志、索引、 物化视图在这里重新登场
本站画的全书结构,分块和章的简称都是本站起的。

怎么读

本站的建议(不是作者的):只有一点时间、想先抓住最常用的部分,可以按 1 → 2 → 4 → 6 → 8 读,其余的需要时再回来;偏数据工程方向的,第 3、4、5、11、12、13 章是重心;对分布式系统最好奇的,从第 6 章读到第 10 章。不管哪条路线,第 1 章都值得先读:它定下了全书看问题的方法。

第二版新在哪

对照译本时认准第二版。第一版(2017)的译本还在流通,章节结构不同:第一版共 12 章,第 1 章讲可靠性、可扩展性和可维护性;第二版 14 章,第 1 章是数据系统架构里的取舍。

第一版是 2017 年出的,Martin Kleppmann 一个人写;第二版加入了 Chris Riccomini 做合著者(§3、致谢)。按序言的说法,目标和范围没变,全书都改过一遍,大约多了 60 页。两个最大的变化是 AI 热潮和「云原生」的架构:

分节地图

序言约 1900 词,一次读完。后四节(排版约定、出版社的在线学习平台、联系方式、致谢)可以跳过。

  1. Preface约 400 词序言「看情况」和这本书的取向:讲原理、讲取舍,兼顾学术和工程。
  2. Who Should Read This Book?约 300 词谁应该读这本书几类读者,和作者对你已有知识的假设。
  3. What’s New in the Second Edition?约 300 词第二版有什么新东西AI 和云原生两条线,新增和删掉的话题。
  4. References and Further Reading约 200 词参考文献和延伸阅读一千来条文献怎么用,论文去哪找免费的。

词与短语

词条按在书里出现的顺序排,按节分组。斜体小字是原句里连续的几个词,在电子书里搜它就能找到那一句。标着「每个字都认识」的,是字面意思会把你带偏的。

§1 Preface

it depends
… short answer is, “It depends.” …
看情况
全书的口头禅。作者用整本书来回答「看什么情况」。
tease apart
… tease apart their key algorithms …
(把纠缠在一起的东西)细细拆开
tease 本义是梳理羊毛、亚麻的纤维,「逗弄」是后来才有的意思;tease apart 是一点点理清。
be in a great position to
… you will be in a great position …
很有条件去(做某事)
position 不是「位置、职位」,是「处境」。
new and shiny
… to things that are new and shiny …
新潮光鲜的东西
略带贬义:只因为新而被追捧。
look down on
… to look down on ideas that …
看不起

§2 Who Should Read This Book?

behind the scenes
… goes on behind the scenes at …
在幕后
dig deeper than buzzwords
… dig deeper than buzzwords to gain …
不满足于流行词,往深里挖
buzzword 是听着时髦、意思含糊的流行词。

§3 What’s New in the Second Edition?

per se
… is not about AI per se, …
本身
拉丁语,「就其本身而言」。
woven in
… have been woven in throughout the book.
融进(全书各处)
weave 是编织:不是单独加一章,而是分散编进各章。
take away
… also taken a few things away—for …
删掉、拿掉
a light edit
… required only a light edit, …
小改
light 是「轻微的」,不是「光」。

§4 References and Further Reading

engineering folklore
… mailing lists, or engineering folklore.
工程师之间口耳相传的经验
folklore 本义民间传说:没写成文档、靠老人带新人传下来的那些。

本站怎么用