作者: Martin Kleppmann,《Designing Data-Intensive Applications 2nd Edition》 : 英國劍橋大學分散式系統研究員,演講者,博主和開源貢獻者,軟體工程師和企業家,曾在 LinkedIn 和 Rapportive 負責資料基礎架構。
譯者:馮若航 / Vonng ([email protected]): 創業者,開源貢獻者,PostgreSQL Hacker。開源 RDS PG Pigsty 與公眾號《非法加馮》作者,資料庫老司機,雲計算泥石流,曾於阿里,蘋果,探探擔任架構師與DBA。
校訂: @yingang | 繁體中文 版本維護 by @afunTW
閱覽:在本地使用 Docsify (根目錄中執行 make
) 或 Typora、Gitbook 以獲取最佳閱讀體驗。
通知:DDIA 第二版 正在翻譯中 (v2
分支),歡迎加入並提出您的寶貴意見!
不懂資料庫的全棧工程師不是好架構師
—— 馮若航 / Vonng
現今,尤其是在網際網路領域,大多數應用都屬於資料密集型應用。本書從底層資料結構到頂層架構設計,將資料系統設計中的精髓娓娓道來。其中的寶貴經驗無論是對架構師、DBA、還是後端工程師、甚至產品經理都會有幫助。
這是一本理論結合實踐的書,書中很多問題,譯者在實際場景中都曾遇到過,讀來讓人擊節扼腕。如果能早點讀到這本書,該少走多少彎路啊!
這也是一本深入淺出的書,講述概念的來龍去脈而不是賣弄定義,介紹事物發展演化歷程而不是事實堆砌,將複雜的概念講述的淺顯易懂,但又直擊本質不失深度。每章最後的引用質量非常好,是深入學習各個主題的絕佳索引。
本書為資料系統的設計、實現、與評價提供了很好的概念框架。讀完並理解本書內容後,讀者可以輕鬆看破大多數的技術忽悠,與技術磚家撕起來虎虎生風🤣。
這是 2017 年譯者讀過最好的一本技術類書籍,這麼好的書沒有中文翻譯,實在是遺憾。某不才,願為先進技術文化的傳播貢獻一份力量。既可以深入學習有趣的技術主題,又可以鍛鍊中英文語言文字功底,何樂而不為?
在我們的社會中,技術是一種強大的力量。資料、軟體、通訊可以用於壞的方面:不公平的階級固化,損害公民權利,保護既得利益集團。但也可以用於好的方面:讓底層人民發出自己的聲音,讓每個人都擁有機會,避免災難。本書獻給所有將技術用於善途的人們。
計算是一種流行文化,流行文化鄙視歷史。流行文化關乎個體身份和參與感,但與合作無關。流行文化活在當下,也與過去和未來無關。我認為大部分(為了錢)編寫程式碼的人就是這樣的,他們不知道自己的文化來自哪裡。
—— 阿蘭・凱接受 Dobb 博士的雜誌採訪時(2012 年)
從原作者處得知,已經有簡體中文的翻譯計劃,將於 2018 年末完成。購買地址
譯者純粹出於 學習目的 與 個人興趣 翻譯本書,不追求任何經濟利益。
譯者保留對此版本譯文的署名權,其他權利以原作者和出版社的主張為準。
本譯文只供學習研究參考之用,不得公開傳播發行或用於商業用途。有能力閱讀英文書籍者請購買正版支援。
- 全文校訂 by @yingang
- 序言初翻修正 by @seagullbird
- 第一章語法標點校正 by @nevertiree
- 第六章部分校正 與第十章的初翻 by @MuAlex
- 第一部分前言,ch2校正 by @jiajiadebug
- 詞彙表、後記關於野豬的部分 by @Chowss
- 繁體中文版本與轉換指令碼 by @afunTW
- 多處翻譯修正 by @songzhibin97 @MamaShip @FangYuan33
- 感謝所有作出貢獻,提出意見的朋友們:
Pull Requests & Issues
ISSUE & Pull Requests | USER | Title |
---|---|---|
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 | @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 | 序言初翻 |