設計資料密集型應用

作者Martin Kleppmann《Designing Data-Intensive Applications 2nd Edition》 : 英國劍橋大學分散式系統研究員,演講者,博主和開源貢獻者,軟體工程師和企業家,曾在 LinkedIn 和 Rapportive 負責資料基礎架構。

譯者馮若航,網名 @Vonng。 PostgreSQL 專家,資料庫老司機,雲計算泥石流。 Pigsty 作者與創始人。 架構師,DBA,全棧工程師 @ TanTan,Alibaba,Apple。 獨立開源貢獻者,GitStar Ranking 585國區活躍 Top20DDIA / PG Internal 中文版譯者,公眾號:《老馮雲數》,資料庫 KOL。

校訂@yingang繁體中文 版本維護 by @afunTW完整貢獻者列表

Note

DDIA 第二版 正在翻譯中 (v2分支),歡迎加入並提出您的寶貴意見!

譯序

不懂資料庫的全棧工程師不是好架構師 —— 馮若航 / 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 RequestsUSERTitle
359@c25423ch10: 修正一處拼寫錯誤
358@lewiszlwch4: 修正一處拼寫錯誤
356@lewiszlwch2: 修正一處標點錯誤
355@DuroyGeorgech12: 修正一處格式錯誤
354@justlorainch7: 修正一處參考連結
353@fantasyczlch3&9: 修正兩處引用錯誤
352@fantasyczl支援輸出為 EPUB 格式
349@xiyihan0ch1: 修正一處格式錯誤
348@omegaatt36ch3: 修正一處影像連結
346@Vermouth1995ch1: 最佳化一處翻譯
343@kehao-chench10: 最佳化一處翻譯
341@YKIsTheBestch3: 最佳化兩處翻譯
340@YKIsTheBestch2: 最佳化多處翻譯
338@YKIsTheBestch1: 最佳化一處翻譯
335@kimi0230修正一處繁體中文錯誤
334@soulrrrrrch2: 修正一處繁體中文錯誤
332@justlorainch5: 修正一處翻譯錯誤
331@Lyianuch9: 更正幾處拼寫錯誤
330@Lyianuch7: 最佳化一處翻譯
329@Lyianuch6: 指出一處翻譯錯誤
328@justlorainch4: 更正一處翻譯遺漏
326@liangGTYch1: 最佳化一處翻譯
323@marvin263ch5: 最佳化一處翻譯
322@marvin263ch8: 最佳化一處翻譯
304@spike014ch11: 最佳化一處翻譯
298@Makonikech11&12: 修正兩處錯誤
284@WAangzEch4: 更正一處列表錯誤
283@WAangzEch3: 更正一處錯別字
282@WAangzEch2: 更正一處公式問題
281@lyuxi99更正多處內部連結錯誤
280@lyuxi99ch9: 更正內部連結錯誤
279@codexvnch9: 指出公式在 GitHub Pages 顯示的問題
278@LJlkdskdjflsa發現了繁體中文版本中的錯誤翻譯
275@117503445更正 LICENSE 連結
274@uncle-lvch7: 修正錯別字
273@Sdot-Pythonch7: 統一了 write skew 的翻譯
271@Makonikech6: 統一了 rebalancing 的翻譯
270@Ynjxsjmhch7: 修正不一致的翻譯
263@zydmaydaych5: 修正譯文中的重複單詞
260@haifeiWuch4: 修正部分不準確的翻譯
258@bestgrcch3: 修正一處翻譯錯誤
257@UnderSamch8: 修正一處拼寫錯誤
256@AlphaWangch7: 修正“可序列化”相關內容的多處翻譯不當
255@AlphaWangch7: 修正“可重複讀”相關內容的多處翻譯不當
253@AlphaWangch7: 修正“讀已提交”相關內容的多處翻譯不當
246@derekwu0101ch3: 修正繁體中文的轉譯錯誤
245@skyran1278ch12: 修正繁體中文的轉譯錯誤
244@Axlgrepch9: 修正不通順的翻譯
242@lynkeibch9: 修正不通順的翻譯
241@lynkeibch8: 修正不正確的公式格式
240@8da2kch9: 修正不通順的翻譯
239@BeBraveBeCuriousch7: 修正不一致的翻譯
237@zhangnewch3: 修正錯誤的圖片連結
229@lis186指出繁體中文的轉譯錯誤:複雜
226@chromingch1: 修正導航欄中的章節名稱
220@skyran1278ch9: 修正線性一致的繁體中文翻譯
194@BeBraveBeCuriousch4: 修正錯誤的翻譯
193@BeBraveBeCuriousch4: 最佳化譯文
192@BeBraveBeCuriousch4: 修正不一致和不通順的翻譯
190@Pcrabch1: 修正不準確的翻譯
187@narojaych9: 修正生硬的翻譯
186@narojaych8: 修正錯別字
185@8da2k指出小標題跳轉的問題
184@DavidZhiXingch10: 修正失效的網址
183@OneSizeFitsQuorumch8: 修正錯別字
182@lroolle建議docsify的主題風格
181@YunfengGaoch2: 修正翻譯錯誤
180@skyran1278ch3: 指出繁體中文的轉譯錯誤
177@exzhawk支援 Github Pages 裡的公式顯示
176@haifeiWuch2: 語義網相關翻譯更正
175@cwr31ch7: 不變式相關翻譯更正
174@BeBraveBeCuriousREADME & preface: 更正不正確的中文用詞和標點符號
173@ZvanYangch12: 修正不完整的翻譯
171@ZvanYangch12: 修正重複的譯文
169@ZvanYangch12: 更正不太通順的翻譯
166@bp4m4h94ch1: 發現錯誤的文獻索引
164@DragonDriverpreface: 更正錯誤的標點符號
163@llmmddCoderch1: 更正錯誤字
160@Zhayhpch2: 建議將 network model 翻譯為網狀模型
159@1essch4: 更正錯誤字
157@ZvanYangch7: 更正不太通順的翻譯
155@ZvanYangch7: 更正不太通順的翻譯
153@DavidZhiXingch9: 修正縮圖的錯別字
152@ZvanYangch7: 除重->去重
151@ZvanYangch5: 修訂sibling相關的翻譯
147@ZvanYangch5: 更正一處不準確的翻譯
145@Hookey識別了當前簡繁轉譯過程中處理不當的地方,暫透過轉換指令碼規避
144@secret4233ch7: 不翻譯next-key locking
143@imcheneych3: 更新殘留的機翻段落
142@XIJINIAN建議去除段首的製表符
141@Flyratych5: 發現一處錯誤格式的章節引用
140@Bowser1704ch5: 修正章節Summary中多處不通順的翻譯
139@Bowser1704ch2&ch3: 修正多處不通順的或錯誤的翻譯
137@fuxuemingzhuch5&ch6: 最佳化多處不通順的或錯誤的翻譯
134@fuxuemingzhuch4: 最佳化多處不通順的或錯誤的翻譯
133@fuxuemingzhuch3: 最佳化多處錯誤的或不通順的翻譯
132@fuxuemingzhuch3: 最佳化一處容易產生歧義的翻譯
131@rwwg4ch6: 修正兩處錯誤的翻譯
129@anaerch4: 修正兩處強調文字和四處程式碼變數名稱
128@meilin96ch5: 修正一處錯誤的引用
126@cwr31ch10: 修正一處錯誤的翻譯(功能 -> 函式)
125@dch1228ch2: 最佳化 how best 的翻譯(如何以最佳方式)
123@yingangtranslation updates (chapter 9, TOC in readme, glossary, etc.)
121@yingangtranslation updates (chapter 5 to chapter 8)
120@jiong-hanTypo fix: 呲之以鼻 -> 嗤之以鼻
119@cclaussStreamline file operations in convert()
118@yingangtranslation updates (chapter 2 to chapter 4)
117@feeeei統一每章的標題格式
115@NageNalock第七章病句修改: 重複詞語
114@Sunt-ingUpdate README.md: correct the book name
113@lpxxn修改語句
112@ibyte2011Update ch9.md
110@lpxxn讀已寫入資料
107@abbychau單調鐘和好死還是賴活著
106@enochiitypo in ch2: fix braces typo
105@LiminCodeChronicle translation error
104@Sunt-ingseveral advice for better translation
103@Sunt-ingtypo in ch4: should be 完成 rather than 完全
102@Sunt-ingch4: better-translation: 扼殺 → 破壞
101@Sunt-ingtypo in Ch4: should be “改變” rathr than “蓋面”
100@LiminCodefix missing translation
99@mrdrivingduckch6: fix the word rebalancing
98@jacklightChenfix ch7.md: fix wrong references
97@jenac96
96@PragmaTwicech2: fix typo about ‘may or may not be’
95@EvanMu96fix translation of “the battle cry” in ch5
94@kemingych6: fix markdown and punctuations
93@kemingych5: fix markdown and some typos
92@Gilbert1024Merge pull request #1 from Vonng/master
88@kemingyfix typo for ch1, ch2, ch3, ch4
87@wynn5aUpdate ch3.md
86@northmornUpdate ch1.md
85@sunbuhuifix ch2.md: fix ch2 ambiguous translation
84@ganlerFix translation: use up
83@afunTWUsing OpenCC to convert from zh-cn to zh-tw
82@kangnifix gitbook url
78@hanyu2Fix unappropriated translation
77@Ozarklakefix typo
75@2997msFix typo
74@2997msUpdate ch9.md
70@2997msUpdate ch7.md
67@jiajiadebugfix issues in ch2 - ch9 and glossary
66@blindpirateFix typo
63@haifeiWuUpdate ch10.md
62@ychfix ch1.md typesetting problem
61@xianlaioydocs:鍾–>種,去掉ou
60@Zombo1296否則 -> 或者
59@AlexanderMisel呼叫->呼叫,顯著->顯著
58@ibyte2011Update ch8.md
55@saintubech8: 修改連結錯誤
54@PanmaxUpdate ch2.md
53@ibyte2011Update ch9.md
52@hecenjieUpdate ch1.md
51@latavin243fix 修正ch3 ch4幾處翻譯
50@AlexZFX幾個疏漏和格式錯誤
49@haifeiWuUpdate ch1.md
48@scaugratedfix typo
47@lzwillFixed typos in ch2
45@zenuo刪除一個多餘的右括號
44@akxxsb修正第七章底部連結錯誤
43@baijinping“更假簡單”->“更加簡單”
42@tisonkun修復 ch1 中的無序列表格式
38@renjie-c糾正多處的翻譯小錯誤
37@tankilofix translation mistakes in ch4.md
36@wwek1.修復多個連結錯誤 2.名詞最佳化修訂 3.錯誤修訂
35@wwekfix ch7.md to ch8.md link error
34@wwekMerge pull request #1 from Vonng/master
33@wwekfix part-ii.md link error
32@JCYokyUpdate ch2.md
31@elsonLeeUpdate ch7.md
26@yjhmelody修復一些明顯錯誤
25@lqbilbo修復連結錯誤
24@artiship修改詞語順序
23@artiship修正錯別字
22@artiship糾正翻譯錯誤
21@zhtisi修正目錄和本章標題不符的情況
20@rentianshengUpdate ch7.md
19@LHRchina修復語句小bug
16@MuAlexMaster
15@cg-zhouUpdate translation progress
14@cg-zhouTranslate glossary
13@cg-zhou詳細修改了後記中和印度野豬相關的描述
12@ibyte2011修改了部分翻譯
11@jiajiadebugch2 100%
10@jiajiadebugch2 20%
9@jiajiadebugPreface, ch1, part-i translation minor fixes
7@MuAlexCh6 translation pull request
6@MuAlexCh6 change version1
5@nevertireeChapter 01語法微調
2@seagullbird序言初翻


許可證

本專案採用 CC-BY 4.0 許可證,您可以在這裡找到完整說明:

最後更新於