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