Git Product home page Git Product logo

ddia's Introduction

设计数据密集型应用 - 中文翻译

使用 TyporaGitbookGithub Pages 以获取最佳阅读体验。

本地:你可在项目根目录中执行 make,并通过浏览器阅读(在线预览)。

译序

不懂数据库的全栈工程师不是好架构师

—— Vonng

现今,尤其是在互联网领域,大多数应用都属于数据密集型应用。本书从底层数据结构到顶层架构设计,将数据系统设计中的精髓娓娓道来。其中的宝贵经验无论是对架构师、DBA、还是后端工程师、甚至产品经理都会有帮助。

这是一本理论结合实践的书,书中很多问题,译者在实际场景中都曾遇到过,读来让人击节扼腕。如果能早点读到这本书,该少走多少弯路啊!

这也是一本深入浅出的书,讲述概念的来龙去脉而不是卖弄定义,介绍事物发展演化历程而不是事实堆砌,将复杂的概念讲述的浅显易懂,但又直击本质不失深度。每章最后的引用质量非常好,是深入学习各个主题的绝佳索引。

本书为数据系统的设计、实现、与评价提供了很好的概念框架。读完并理解本书内容后,读者可以轻松看破大多数的技术忽悠,与技术砖家撕起来虎虎生风🤣。

这是 2017 年译者读过最好的一本技术类书籍,这么好的书没有中文翻译,实在是遗憾。某不才,愿为先进技术文化的传播贡献一份力量。既可以深入学习有趣的技术主题,又可以锻炼中英文语言文字功底,何乐而不为?

前言

在我们的社会中,技术是一种强大的力量。数据、软件、通信可以用于坏的方面:不公平的阶级固化,损害公民权利,保护既得利益集团。但也可以用于好的方面:让底层人民发出自己的声音,让每个人都拥有机会,避免灾难。本书献给所有将技术用于善途的人们。


计算是一种流行文化,流行文化鄙视历史。流行文化关乎个体身份和参与感,但与合作无关。流行文化活在当下,也与过去和未来无关。我认为大部分(为了钱)编写代码的人就是这样的,他们不知道自己的文化来自哪里。

—— 阿兰・凯接受 Dobb 博士的杂志采访时(2012 年)

目录

法律声明

从原作者处得知,已经有简体中文的翻译计划,将于 2018 年末完成。购买地址

译者纯粹出于 学习目的个人兴趣 翻译本书,不追求任何经济利益。

译者保留对此版本译文的署名权,其他权利以原作者和出版社的主张为准。

本译文只供学习研究参考之用,不得公开传播发行或用于商业用途。有能力阅读英文书籍者请购买正版支持。

贡献

  1. 全文校订 by @yingang
  2. 序言初翻修正 by @seagullbird
  3. 第一章语法标点校正 by @nevertiree
  4. 第六章部分校正第十章的初翻 by @MuAlex
  5. 第一部分前言,ch2校正 by @jiajiadebug
  6. 词汇表后记关于野猪的部分 by @Chowss
  7. 繁體中文版本与转换脚本 by @afunTW
  8. 多处翻译修正 by @songzhibin97 @MamaShip @FangYuan33
  9. 感谢所有作出贡献,提出意见的朋友们:
Pull Requests & Issues
ISSUE & Pull Requests USER Title
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 @Sdot-Python ch7: 统一了 write skew 的翻译
271 @Makonike ch6: 统一了 rebalancing 的翻译
270 @Ynjxsjmh ch7: 修正不一致的翻译
263 @zydmayday ch5: 修正译文中的重复单词
260 @haifeiWu ch4: 修正部分不准确的翻译
258 @bestgrc ch3: 修正一处翻译错误
257 @UnderSam 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 @8da2k 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 @8da2k 指出小标题跳转的问题
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 @DragonDriver 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 @Hookey 识别了当前简繁转译过程中处理不当的地方,暂通过转换脚本规避
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 @rwwg4 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

ddia's People

Contributors

afuntw avatar alphawang avatar artiship avatar bebravebecurious avatar bowser1704 avatar fangyuan33 avatar fuxuemingzhu avatar hanyu2 avatar ibyte2011 avatar jiajiadebug avatar kemingy avatar kimi0230 avatar limincode avatar lyianu avatar lyuxi99 avatar makonike avatar mamaship avatar mrdrivingduck avatar mualex avatar narojay avatar rentiansheng avatar skyran1278 avatar songzhibin97 avatar sunt-ing avatar vonng avatar waangze avatar wwek avatar yingang avatar yjhmelody avatar ykisthebest avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ddia's Issues

疑問:原作者或出版社是否反對這裡的翻譯?

想請問譯者,原作者或出版社是否反對這裡的翻譯?
我想知道,這樣以學習為目的的翻譯,並且公開放在 GitHub,會不會引起著作權的問題,所以才提問。
如果是安全的,我也想嘗試看看。

文章每一段开头,为什么有一个空格呢?

阅读了 Issues,没人提出这个问题,所以询问一下是刻意这么做的吗?

(传统印刷排版,一般空两个中文文字大小的空格;网页上的排版,大家相对推崇不加任何空格。)

生成pdf

请问怎么把所有的md文档生成一个像电子书一样的pdf

第四章的错误翻译

在第四章编码与演化中

当处理大量数据时,这个问题更严重了。例如,大于$2^{53}$的整数不能在IEEE 754双精度浮点数中精确表示,因此在使用浮点数(例如JavaScript)的语言进行分析时,这些数字会变得不准确。 Twitter上有一个大于$2^{53}$的数字的例子,它使用一个64位的数字来标识每条推文。 Twitter API返回的JSON包含了两种推特ID,一个JSON数字,另一个是十进制字符串,以此避免JavaScript程序无法正确解析数字的问题【10】。

此处的 “当处理大量数据” 按照上下文和比对英文原文应该为较大数据(如下文中提到的2^53的例子)

第七章可商榷的地方

原子性(Atomicity)

一般来说,原子是指不能分解成小部分的东西。这个词在计算的不同分支中意味着相似但又微妙不同的东西。例如,在多线程编程中,如果一个线程执行一个原子操作,这意味着另一个线程无法看到该操作的一半结果。系统只能处于操作之前或操作之后的状态,而不是介于两者之间的状态。

这里原文的half-finished result 直译成一半的结果,个人认为用后面提到的状态来翻译 "这意味着另一个线程无法看到该操作中间状态"比较合适.

第八章的开头引用

应该是Call Me Maybe这首歌的改编,作为诗来翻译并不合适,这里放原文,顺便做个注释会比较好。

错误的引用格式

Gitpage第21页延迟和响应时间部份,title被错误的放在了引用里。

第十章似乎存在翻译错误--重复语句

问题位置:
第十章 Reduce端连接与分组 一节 第二段文字

在许多数据集中,一条记录与另一条记录存在关联是很常见的:关系模型中的外键,文档模型中的文档引用或图模型中的边。当你需要同时访问这一关联的两侧(持有引用的记录与被引用的记录)时,连接就是必须的。(包含引用的记录和被引用的记录),连接就是必需的。正如第2章所讨论的,非规范化可以减少对连接的需求,但通常无法将其完全移除^v。

其第二句:

当你需要同时访问这一关联的两侧(持有引用的记录与被引用的记录)时,连接就是必须的。(包含引用的记录和被引用的记录),连接就是必需的。

存在重复语句.

应该改为:

当你需要同时访问这一关联的两侧(持有引用的记录与被引用的记录)时,连接就是必须的。

Online Preview should enforce HTTPS

It is 2021 now, the preview site should enforce HTTPS to gain better security.

If you use GitHub Pages to host the site, it should be a Enforce HTTPS checkbox to allow you enforce HTTPS

Tested by Microsoft Edge 94.0.992.47

MarkDown 粗字体未转换

有的地方是粗体的,但有的地方不是。未转换的地方有很多,举个例子:ch1.md 里:
跨多台机器部署**无状态服务(stateless services)**非常简单

按照MarkDown语法,应该是:
跨多台机器部署无状态服务(stateless services) 非常简单

我试了一下,在后面两个星号后加个空格就可以正常显示粗体了。

ch4.md 一处翻译错误

在部署应用程序的新版本(至少是服务器端应用程序)时,您可能会在几分钟内完全用新版本替换旧版本。数据库内容也是如此:五年前的数据仍然存在于原始编码中,除非您已经明确地重写了它。这种观察有时被总结为数据超出代码。

原文:

When you deploy a new version of your application (of a server-side application, at least), you may entirely replace the old version with the new version within a few minutes. The same is not true of database contents: the five-year-old data will still be there, in the original encoding, unless you have explicitly rewritten it since then. This observation is sometimes summed up as data outlives code.

GitBook

您好,建议把这个repo整体fork到GitBook上去,比较利于传播。祝好。

第十一章 传递事件流 部分有重复内容

重复内容:

当输入是一个文件(一个字节序列),第一个处理步骤通常是将其解析为一系列记录。在流处理的上下文中,记录通常被叫做事件(event),但它本质上是一样的:一个小的,自包含的,不可变的对象,包含某个时间点发生的某件事情的细节。一个事件通常包含一个来自时钟的时间戳,以指明事件发生的时间(参见“单调钟与时钟”)。
​ 例如,发生的事件可能是用户采取的行动,例如查看页面或进行购买。它也可能来源于机器,例如对温度传感器或CPU利用率的周期性测量。在“使用Unix工具进行批处理”的示例中,Web服务器日志的每一行都是一个事件。
​ 事件可能被编码为文本字符串或JSON,或者某种二进制编码,如第4章所述。这种编码允许你存储一个事件,例如将其附加到一个文件,将其插入关系表,或将其写入文档数据库。它还允许你通过网络将事件发送到另一个节点以进行处理。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.