《Designing Data-Intensive Application》DDIA 第一版 / 第二版 中文翻译
设计数据密集型应用(第二版) - 中文翻译版
作者: Martin Kleppmann,《Designing Data-Intensive Applications 2nd Edition》: 英国剑桥大学分布式系统研究员,演讲者,博主和开源贡献者,软件工程师和企业家,曾在 LinkedIn 和 Rapportive 负责数据基础架构。
译者:冯若航 / Vonng (rh@vonng.com) Pigsty 创始人,活跃开源贡献者,PostgreSQL Hacker。开源 RDS PG 发行版 Pigsty 与公众号《老冯云数》作者,数据库老司机,云计算泥石流,曾于阿里,苹果,探探担任架构师与DBA。
校订: @yingang | 繁體中文 by @afunTW | 完整贡献者列表
阅读:访问 https://ddia.vonng.com 阅读本书在线版本,或使用 hugo / hextra 主题自行构建。
[!NOTE]
DDIA 第二版 正在翻译中(翻译至至第十章),欢迎阅览并提出您的宝贵意见!点击此处阅览第一版。
译序
不懂数据库的全栈工程师不是好架构师>
—— 冯若航 / Vonng
现今,尤其是在互联网领域,大多数应用都属于数据密集型应用。本书从底层数据结构到顶层架构设计,将数据系统设计中的精髓娓娓道来。其中的宝贵经验无论是对架构师、DBA、还是后端工程师、甚至产品经理都会有帮助。
这是一本理论结合实践的书,书中很多问题,译者在实际场景中都曾遇到过,读来让人击节扼腕。如果能早点读到这本书,该少走多少弯路啊!
这也是一本深入浅出的书,讲述概念的来龙去脉而不是卖弄定义,介绍事物发展演化历程而不是事实堆砌,将复杂的概念讲述的浅显易懂,但又直击本质不失深度。每章最后的引用质量非常好,是深入学习各个主题的绝佳索引。
本书为数据系统的设计、实现、与评价提供了很好的概念框架。读完并理解本书内容后,读者可以轻松看破大多数的技术忽悠,与技术砖家撕起来虎虎生风🤣。
这是 2017 年译者读过最好的一本技术类书籍,这么好的书没有中文翻译,实在是遗憾。某不才,愿为先进技术文化的传播贡献一份力量。既可以深入学习有趣的技术主题,又可以锻炼中英文语言文字功底,何乐而不为?
前言
在我们的社会中,技术是一种强大的力量。数据、软件、通信可以用于坏的方面:不公平的阶级固化,损害公民权利,保护既得利益集团。但也可以用于好的方面:让底层人民发出自己的声音,让每个人都拥有机会,避免灾难。本书献给所有将技术用于善途的人们。
计算是一种流行文化,流行文化鄙视历史。流行文化关乎个体身份和参与感,但与合作无关。流行文化活在当下,也与过去和未来无关。我认为大部分(为了钱)编写代码的人就是这样的,他们不知道自己的文化来自哪里。>
—— 阿兰・凯接受 Dobb 博士的杂志采访时(2012 年)
目录
- 1. 数据系统架构中的权衡 - 2. 定义非功能性需求 - 3. 数据模型与查询语言 - 4. 存储与检索 - 5. 编码与演化 - 6. 复制 - 7. 分片 - 8. 事务 - 9. 分布式系统的麻烦 - 10.一致性与共识 - 11. 批处理 - 12. 流处理 - 13. 流处理系统哲学 - 14. 做正确的事
法律声明
从原作者处得知,已经有简体中文的翻译计划,将于 2018 年末完成。购买地址
译者纯粹出于 学习目的 与 个人兴趣 翻译本书,不追求任何经济利益。
译者保留对此版本译文的署名权,其他权利以原作者和出版社的主张为准。
本译文只供学习研究参考之用,不得公开发行或用于商业用途,有能力阅读英文书籍者请购买正版支持,本书英文原版在 O'REILLY 平台上提供在线免费试预览。
贡献
- 全文校订 by @yingang
- 序言初翻修正 by @seagullbird
- 第一章语法标点校正 by @nevertiree
- 第六章部分校正 与第十章的初翻 by @MuAlex
- 第一部分前言,ch2 校正 by @jiajiadebug
- 词汇表、后记关于野猪的部分 by @cg-zhou
- 繁體中文版本与转换脚本 by @afunTW
- 多处翻译修正 by @songzhibin97 @MamaShip @FangYuan33
- 感谢所有作出贡献,提出意见的朋友们:
Pull Requests & Issues
| ISSUE & Pull Requests | USER | Title | |-------------------------------------------------|------------------------------------------------------------|----------------------------------------------------------------| | 386 | @uncle-lv | ch2: 优化一处翻译 | | 384 | @PanggNOTlovebean | docs: 优化中文文档的措辞和表达 | | 383 | @PanggNOTlovebean | docs: 修正 ch4 中的术语和表达错误 | | 382 | @uncle-lv | ch1: 优化一处翻译 | | 381 | @Max-Tortoise | ch4: 修正一处术语不完整问题 | | 377 | @huang06 | 优化翻译术语 | | 375 | @z-soulx | 对于是否100%全中文翻译的必要性讨论?个人-没必要100%,特别是“名词”,有原单词更加适合it人员 | | 371 | @lewiszlw | CPU core -> CPU 核心 | | 369 | @bbwang-gl | ch7: 可串行化快照隔离检测一个事务何时修改另一个事务的读取 | | 368 | @yhao3 | 更新 zh-tw.py 与 zh-tw 内容 | | 367 | @yhao3 | 修正拼写、格式和标点问题 | | 366 | @yangshangde | ch8: 将“电源失败”改为“电源失效” | | 365 | @xyohn | ch1: 优化“存储与计算分离”相关翻译 | | 364 | @xyohn | ch1: 优化“存储与计算分离”相关翻译 | | 363 | @xyohn | #362: 优化一处翻译 | | 362 | @xyohn | ch1: 优化一处翻译 | | 359 | @c25423 | ch10: 修正一处拼写错误 | | 358 | @lewiszlw | ch4: 修正一处拼写错误 | | 356 | @lewiszlw | ch2: 修正一处标点错误 | | 355 | @duroey | ch12: 修正一处格式错误 | | 354 | @justlorain | ch7: 修正一处参考链接 | | 353 | @fantasyczl | ch3&9: 修正两处引用错误 | | 352 | @fantasyczl | 支持输出为 EPUB 格式 | | 349 | @xiyihan0 | ch1: 修正一处格式错误 | | 348 | @omegaatt36 | ch3: 修正一处图像链接 | | 346 | @Vermouth1995 | ch1: 优化一处翻译 | | 343 | @kehao-chen | ch10: 优化一处翻译 | | 341 | @YKIsTheBest | ch3: 优化两处翻译 | | 340 | @YKIsTheBest | ch2: 优化多处翻译 | | 338 | @YKIsTheBest | ch1: 优化一处翻译 | | 335 | @kimi0230 | 修正一处繁体中文错误 | | 334 | @soulrrrrr | ch2: 修正一处繁体中文错误 | | 332 | @justlorain | ch5: 修正一处翻译错误 | | 331 | @Lyianu | ch9: 更正几处拼写错误 | | 330 | @Lyianu | ch7: 优化一处翻译 | | 329 | @Lyianu | ch6: 指出一处翻译错误 | | 328 | @justlorain | ch4: 更正一处翻译遗漏 | | 326 | @liangGTY | ch1: 优化一处翻译 | | 323 | @marvin263 | ch5: 优化一处翻译 | | 322 | @marvin263 | ch8: 优化一处翻译 | | 304 | @spike014 | ch11: 优化一处翻译 | | 298 | @Makonike | ch11&12: 修正两处错误 | | 284 | @WAangzE | ch4: 更正一处列表错误 | | 283 | @WAangzE | ch3: 更正一处错别字 | | 282 | @WAangzE | ch2: 更正一处公式问题 | | 281 | @lyuxi99 | 更正多处内部链接错误 | | 280 | @lyuxi99 | ch9: 更正内部链接错误 | | 279 | @codexvn | ch9: 指出公式在 GitHub Pages 显示的问题 | | 278 | @LJlkdskdjflsa | 发现了繁体中文版本中的错误翻译 | | 275 | @117503445 | 更正 LICENSE 链接 | | 274 | @uncle-lv | ch7: 修正错别字 | | 273 | @quwang123 | ch7: 统一了 write skew 的翻译 | | 271 | @Makonike | ch6: 统一了 rebalancing 的翻译 | | 270 | @Ynjxsjmh | ch7: 修正不一致的翻译 | | 263 | @zydmayday | ch5: 修正译文中的重复单词 | | 260 | @haifeiWu | ch4: 修正部分不准确的翻译 | | 258 | @bestgrc | ch3: 修正一处翻译错误 | | 257 | @samwu4166 | ch8: 修正一处拼写错误 | | 256 | @AlphaWang | ch7: 修正“可串行化”相关内容的多处翻译不当 | | 255 | @AlphaWang | ch7: 修正“可重复读”相关内容的多处翻译不当 | | 253 | @AlphaWang | ch7: 修正“读已提交”相关内容的多处翻译不当 | | 246 | @derekwu0101 | ch3: 修正繁体中文的转译错误 | | 245 | @skyran1278 | ch12: 修正繁体中文的转译错误 | | 244 | @Axlgrep | ch9: 修正不通顺的翻译 | | 242 | @lynkeib | ch9: 修正不通顺的翻译 | | 241 | @lynkeib | ch8: 修正不正确的公式格式 | | 240 | @leo-987 | ch9: 修正不通顺的翻译 | | 239 | @BeBraveBeCurious | ch7: 修正不一致的翻译 | | 237 | @zhangnew | ch3: 修正错误的图片链接 | | 229 | @lis186 | 指出繁体中文的转译错误:复杂 | | 226 | @chroming | ch1: 修正导航栏中的章节名称 | | 220 | @skyran1278 | ch9: 修正线性一致的繁体中文翻译 | | 194 | @BeBraveBeCurious | ch4: 修正错误的翻译 | | 193 | @BeBraveBeCurious | ch4: 优化译文 | | 192 | @BeBraveBeCurious | ch4: 修正不一致和不通顺的翻译 | | 190 | @Pcrab | ch1: 修正不准确的翻译 | | 187 | @narojay | ch9: 修正生硬的翻译 | | 186 | @narojay | ch8: 修正错别字 | | 185 | @leo-987 | 指出小标题跳转的问题 | | 184 | @DavidZhiXing | ch10: 修正失效的网址 | | 183 | @OneSizeFitsQuorum | ch8: 修正错别字 | | 182 | @lroolle | 建议docsify的主题风格 | | 181 | @YunfengGao | ch2: 修正翻译错误 | | 180 | @skyran1278 | ch3: 指出繁体中文的转译错误 | | 177 | @exzhawk | 支持 Github Pages 里的公式显示 | | 176 | @haifeiWu | ch2: 语义网相关翻译更正 | | 175 | @cwr31 | ch7: 不变式相关翻译更正 | | 174 | @BeBraveBeCurious | README & preface: 更正不正确的中文用词和标点符号 | | 173 | @ZvanYang | ch12: 修正不完整的翻译 | | 171 | @ZvanYang | ch12: 修正重复的译文 | | 169 | @ZvanYang | ch12: 更正不太通顺的翻译 | | 166 | @bp4m4h94 | ch1: 发现错误的文献索引 | | 164 | @longjiquan | preface: 更正错误的标点符号 | | 163 | @llmmddCoder | ch1: 更正错误字 | | 160 | @Zhayhp | ch2: 建议将 network model 翻译为网状模型 | | 159 | @1ess | ch4: 更正错误字 | | 157 | @ZvanYang | ch7: 更正不太通顺的翻译 | | 155 | @ZvanYang | ch7: 更正不太通顺的翻译 | | 153 | @DavidZhiXing | ch9: 修正缩略图的错别字 | | 152 | @ZvanYang | ch7: 除重->去重 | | 151 | @ZvanYang | ch5: 修订sibling相关的翻译 | | 147 | @ZvanYang | ch5: 更正一处不准确的翻译 | | 145 | @ui-HookeyChiang | 识别了当前简繁转译过程中处理不当的地方,暂通过转换脚本规避 | | 144 | @secret4233 | ch7: 不翻译next-key locking | | 143 | @imcheney | ch3: 更新残留的机翻段落 | | 142 | @XIJINIAN | 建议去除段首的制表符 | | 141 | @Flyraty | ch5: 发现一处错误格式的章节引用 | | 140 | @Bowser1704 | ch5: 修正章节Summary中多处不通顺的翻译 | | 139 | @Bowser1704 | ch2&ch3: 修正多处不通顺的或错误的翻译 | | 137 | @fuxuemingzhu | ch5&ch6: 优化多处不通顺的或错误的翻译 | | 134 | @fuxuemingzhu | ch4: 优化多处不通顺的或错误的翻译 | | 133 | @fuxuemingzhu | ch3: 优化多处错误的或不通顺的翻译 | | 132 | @fuxuemingzhu | ch3: 优化一处容易产生歧义的翻译 | | 131 | @KAKXA | ch6: 修正两处错误的翻译 | | 129 | @anaer | ch4: 修正两处强调文本和四处代码变量名称 | | 128 | @meilin96 | ch5: 修正一处错误的引用 | | 126 | @cwr31 | ch10: 修正一处错误的翻译(功能 -> 函数) | | 125 | @dch1228 | ch2: 优化 how best 的翻译(如何以最佳方式) | | 123 | @yingang | translation updates (chapter 9, TOC in readme, glossary, etc.) | | 121 | @yingang | translation updates (chapter 5 to chapter 8) | | 120 | @jiong-han | Typo fix: 呲之以鼻 -> 嗤之以鼻 | | 119 | @cclauss | Streamline file operations in convert() | | 118 | @yingang | translation updates (chapter 2 to chapter 4) | | 117 | @feeeei | 统一每章的标题格式 | | 115 | @NageNalock | 第七章病句修改: 重复词语 | | 114 | @Sunt-ing | Update README.md: correct the book name | | 113 | @lpxxn | 修改语句 | | 112 | @ibyte2011 | Update ch9.md | | 110 | @lpxxn | 读已写入数据 | | 107 | @abbychau | 單調鐘和好死还是赖活着 | | 106 | @enochii | typo in ch2: fix braces typo | | 105 | @LiminCode | Chronicle translation error | | 104 | @Sunt-ing | several advice for better translation | | 103 | @Sunt-ing | typo in ch4: should be 完成 rather than 完全 | | 102 | @Sunt-ing | ch4: better-translation: 扼杀 → 破坏 | | 101 | @Sunt-ing | typo in Ch4: should be "改变" rathr than "盖面" | | 100 | @LiminCode | fix missing translation | | 99 | @mrdrivingduck | ch6: fix the word rebalancing | | 98 | @jacklightChen | fix ch7.md: fix wrong references | | 97 | @jenac | 96 | | 96 | @PragmaTwice | ch2: fix typo about 'may or may not be' | | 95 | @EvanMu96 | fix translation of "the battle cry" in ch5 | | 94 | @kemingy | ch6: fix markdown and punctuations | | 93 | @kemingy | ch5: fix markdown and some typos | | 92 | @Gilbert1024 | Merge pull request #1 from Vonng/master | | 88 | @kemingy | fix typo for ch1, ch2, ch3, ch4 | | 87 | @wynn5a | Update ch3.md | | 86 | @northmorn | Update ch1.md | | 85 | @sunbuhui | fix ch2.md: fix ch2 ambiguous translation | | 84 | @ganler | Fix translation: use up | | 83 | @afunTW | Using OpenCC to convert from zh-cn to zh-tw | | 82 | @kangni | fix gitbook url | | 78 | @hanyu2 | Fix unappropriated translation | | 77 | @Ozarklake | fix typo | | 75 | @2997ms | Fix typo | | 74 | @2997ms | Update ch9.md | | 70 | @2997ms | Update ch7.md | | 67 | @jiajiadebug | fix issues in ch2 - ch9 and glossary | | 66 | @blindpirate | Fix typo | | 63 | @haifeiWu | Update ch10.md | | 62 | @ych | fix ch1.md typesetting problem | | 61 | @xianlaioy | docs:钟-->种,去掉ou | | 60 | @Zombo1296 | 否则 -> 或者 | | 59 | @AlexanderMisel | 呼叫->调用,显着->显著 | | 58 | @ibyte2011 | Update ch8.md | | 55 | @saintube | ch8: 修改链接错误 | | 54 | @Panmax | Update ch2.md | | 53 | @ibyte2011 | Update ch9.md | | 52 | @hecenjie | Update ch1.md | | 51 | @latavin243 | fix 修正ch3 ch4几处翻译 | | 50 | @AlexZFX | 几个疏漏和格式错误 | | 49 | @haifeiWu | Update ch1.md | | 48 | @scaugrated | fix typo | | 47 | @lzwill | Fixed typos in ch2 | | 45 | @zenuo | 删除一个多余的右括号 | | 44 | @akxxsb | 修正第七章底部链接错误 | | 43 | @baijinping | "更假简单"->"更加简单" | | 42 | @tisonkun | 修复 ch1 中的无序列表格式 | | 38 | @renjie-c | 纠正多处的翻译小错误 | | 37 | @tankilo | fix translation mistakes in ch4.md | | 36 | @wwek | 1.修复多个链接错误 2.名词优化修订 3.错误修订 | | 35 | @wwek | fix ch7.md to ch8.md link error | | 34 | @wwek | Merge pull request #1 from Vonng/master | | 33 | @wwek | fix part-ii.md link error | | 32 | @JCYoky | Update ch2.md | | 31 | @elsonLee | Update ch7.md | | 26 | @yjhmelody | 修复一些明显错误 | | 25 | @lqbilbo | 修复链接错误 | | 24 | @artiship | 修改词语顺序 | | 23 | @artiship | 修正错别字 | | 22 | @artiship | 纠正翻译错误 | | 21 | @zhtisi | 修正目录和本章标题不符的情况 | | 20 | @rentiansheng | Update ch7.md | | 19 | @LHRchina | 修复语句小bug | | 16 | @MuAlex | Master | | 15 | @cg-zhou | Update translation progress | | 14 | @cg-zhou | Translate glossary | | 13 | @cg-zhou | 详细修改了后记中和印度野猪相关的描述 | | 12 | @ibyte2011 | 修改了部分翻译 | | 11 | @jiajiadebug | ch2 100% | | 10 | @jiajiadebug | ch2 20% | | 9 | @jiajiadebug | Preface, ch1, part-i translation minor fixes | | 7 | @MuAlex | Ch6 translation pull request | | 6 | @MuAlex | Ch6 change version1 | | 5 | @nevertiree | Chapter 01语法微调 | | 2 | @seagullbird | 序言初翻 |
许可证
本项目采用 CC-BY 4.0 许可证,您可以在这里找到完整说明: