大規(guī)模Web服務(wù)開發(fā)技術(shù)是一本講訴數(shù)據(jù)庫的分布式方法、實(shí)用算法在系統(tǒng)中的應(yīng)用、能支撐海量數(shù)據(jù)的搜索引擎的原理,以及統(tǒng)觀系統(tǒng)全局的基礎(chǔ)設(shè)施設(shè)計(jì)的知識(shí)等多個(gè)方面的書籍。是一本經(jīng)典的web開發(fā)書籍,幫助用戶把知識(shí)系統(tǒng)化。
大規(guī)模Web服務(wù)開發(fā)技術(shù)內(nèi)容簡(jiǎn)介
Hatena 是日本最大的Web 服務(wù)提供商之一,它提供的服務(wù)包括關(guān)鍵字(類似于維基百科)、博客、相冊(cè)等。本書的內(nèi)容主要來自Hatena 為學(xué)生們舉行的暑期實(shí)習(xí)的課程,內(nèi)容涵蓋廣泛,介紹了性能優(yōu)化、分布式、算法、系統(tǒng)架構(gòu)等各個(gè)方面,甚至還介紹了硬件的經(jīng)濟(jì)成本,是運(yùn)維工程師們必不可少的參考書。書中還包括幾個(gè)算法實(shí)習(xí)課題,介紹了壓縮算法、全文搜索等算法的實(shí)現(xiàn)方法,對(duì)于打算靠Web 創(chuàng)業(yè)的人不失為一本很不錯(cuò)的參考書。
大規(guī)模Web服務(wù)開發(fā)技術(shù)前言
自己開發(fā)的 Web 服務(wù),以后規(guī)模增大時(shí)系統(tǒng)能否承受得起?從事Web 開發(fā)的諸位中很多人都有這個(gè)顧慮吧,或者是系統(tǒng)每天都會(huì)陷入困境,如何才能打破這種狀況?面對(duì)成長(zhǎng)起來的Web 服務(wù),整日愁眉苦臉的人一定存在吧。
我也有過完全相同的經(jīng)歷。
Hatena 網(wǎng)站,月訪問人次1500 萬,而我們參與了規(guī)模如此龐大的系統(tǒng)的開發(fā)和運(yùn)營(yíng)。1000 臺(tái)服務(wù)器分擔(dān)負(fù)載,100 多萬用戶不停地發(fā)表博客或收藏社會(huì)化書簽,數(shù)據(jù)量每天都在激增,服務(wù)器資源頻頻告急。技術(shù)人員為了上GB、上TB 的數(shù)據(jù)量絞盡腦汁。即便如此,流量的波濤也從未平息過。
曾幾何時(shí),Hatena 的團(tuán)隊(duì)尚未成熟,面對(duì)規(guī)模日益增大的系統(tǒng)束手無策。龐大的數(shù)據(jù)和巨大的流量涌來,服務(wù)器宕機(jī)、服務(wù)停止。趕緊深夜跑過去重啟服務(wù)器,覺得總算能穩(wěn)定了,清晨回家之后,發(fā)現(xiàn)服務(wù)器又宕機(jī)了,這種事情也曾面對(duì)過。
怎樣才能制服大規(guī)模服務(wù)這頭野獸?本書凝聚了 Hatena 的技術(shù)人員在反復(fù)試驗(yàn)中得到的技術(shù)和訣竅——即大規(guī)模服務(wù)技術(shù)的地圖和指南。
本書是開發(fā)、運(yùn)營(yíng)大規(guī)模服務(wù)的技術(shù)者的入門書。Web 服務(wù)在不斷成長(zhǎng),當(dāng)它的數(shù)據(jù)規(guī)模變大,處理起來也就不再易如反掌了,此時(shí),怎樣做才是正確的?為了避免系統(tǒng)宕機(jī),寫代碼時(shí)應(yīng)該注意什么?設(shè)計(jì)高可擴(kuò)展性(scalability)的系統(tǒng)時(shí)應(yīng)該記住哪些要點(diǎn)?這些都是本書的內(nèi)容。
Hatena 每年夏天都舉辦面向?qū)W生的、以就業(yè)體驗(yàn)為目的的實(shí)習(xí)活動(dòng)(Hatena Summer Intern)。這些實(shí)習(xí)活動(dòng)會(huì)讓學(xué)生參與到Hatena 的系統(tǒng)開發(fā)中。我們把開發(fā)經(jīng)驗(yàn)很少的學(xué)生們與正式員工同樣看待,讓他們獲得大規(guī)模系統(tǒng)開發(fā)的成功經(jīng)驗(yàn),這就是Hatena 之道。那么,我們希望學(xué)生們?cè)陂_發(fā)之前知道什么呢?正是我們歷經(jīng)坎坷學(xué)到的大規(guī)模服務(wù)的開發(fā)和運(yùn)維的知識(shí)。
通過實(shí)習(xí)計(jì)劃,Hatena 的大規(guī)模服務(wù)技術(shù)的培訓(xùn)方法也有了體系。本書就是以實(shí)習(xí)課程為基礎(chǔ),試圖來說明大規(guī)模服務(wù)技術(shù)。
本書的內(nèi)容從操作系統(tǒng)和計(jì)算機(jī)的原理開始,介紹數(shù)據(jù)庫的分布式方法、實(shí)用算法在系統(tǒng)中的應(yīng)用、能支撐海量數(shù)據(jù)的搜索引擎的原理,以及統(tǒng)觀系統(tǒng)全局的基礎(chǔ)設(shè)施設(shè)計(jì)的知識(shí)等多個(gè)方面。
這是擁有 1500 萬用戶的Hatena 才能傳達(dá)的真實(shí)的、實(shí)踐性的技術(shù)和現(xiàn)場(chǎng)感。缺乏經(jīng)驗(yàn)的學(xué)生們?cè)诙潭處滋斓呐嘤?xùn)中學(xué)到大規(guī)模服務(wù)開發(fā)所需的知識(shí),在本書中得以系統(tǒng)化。本書融匯了這些知識(shí),努力做到妙趣橫生、百讀不厭,并讓讀者學(xué)到真正的知識(shí)。
希望本書能成為從事 Web 服務(wù)開發(fā)的所有工程師們的得力助手和工具。
2010 年6 月
Hatena 株式會(huì)CTO 伊藤直也
大規(guī)模Web服務(wù)開發(fā)技術(shù)作品目錄
第 1 章大規(guī)模 Web 服務(wù)的開發(fā)定位——掌握整體..............2
第0 課本書的起源——本書講述的范圍................................... 3
從事大規(guī)模Web 服務(wù)開發(fā)——面向大學(xué)生的Hatena 實(shí)習(xí)... 3
本書講述的內(nèi)容........................................................................ 3
本書不講述的內(nèi)容.................................................................... 5
致今后從事大規(guī)模Web 服務(wù)的人........................................... 5
第1 課大規(guī)模服務(wù)和小規(guī)模服務(wù)................................................. 6
Hatena 的服務(wù)規(guī)模................................................................... 6
Hatena 是大規(guī)模,Google、Facebook 是超大規(guī)模................ 8
小規(guī)模服務(wù)和大規(guī)模服務(wù)的區(qū)別............................................ 9
應(yīng)對(duì)大規(guī)模數(shù)據(jù)量.................................................................. 11
第2 課持續(xù)增長(zhǎng)的服務(wù)和大規(guī)模化的障礙............................ 13
Web 服務(wù)的困難...................................................................... 13
Hatena 的成長(zhǎng)經(jīng)歷................................................................. 13
系統(tǒng)增長(zhǎng)戰(zhàn)略——最小化開端、預(yù)見變化的管理和設(shè)計(jì)... 17
第3 課服務(wù)開發(fā)現(xiàn)場(chǎng)...................................................................... 18
Hatena 的技術(shù)團(tuán)隊(duì)體制.......................................................... 18
Hatena 的溝通方式................................................................. 19
服務(wù)開發(fā)的實(shí)際狀況.............................................................. 19
開發(fā)所用的工具...................................................................... 21
總結(jié)......................................................................................... 23
第2 章大規(guī)模數(shù)據(jù)處理入門
——內(nèi)存和磁盤、Web 應(yīng)用程序和負(fù)載..................24
第4 課 Hatena Bookmark 的數(shù)據(jù)規(guī)模....................................... 25
以Hatena Bookmark 為例介紹大規(guī)模數(shù)據(jù)........................... 25
Hatena Bookmark 的數(shù)據(jù)規(guī)模................................................ 25
針對(duì)大規(guī)模數(shù)據(jù)的查詢——處理大規(guī)模數(shù)據(jù)的感覺........... 26
第5 課大規(guī)模數(shù)據(jù)處理的難點(diǎn)——內(nèi)存和磁盤....................28
為何處理大規(guī)模數(shù)據(jù)如此困難——因?yàn)闊o法在內(nèi)存中
計(jì)算 ..........................................................................................28
內(nèi)存和磁盤的速度差異——內(nèi)存要快105~106 倍...............28
為何磁盤這么慢?——內(nèi)存和磁盤.......................................29
操作系統(tǒng)層的加速處理..........................................................31
傳輸速度和總線的速度差異...................................................31
第6 課可擴(kuò)展性的要點(diǎn)..................................................................37
擴(kuò)展和可擴(kuò)展性......................................................................37
可擴(kuò)展性的要點(diǎn)——CPU 負(fù)載和I/O 負(fù)載...........................38
Web 應(yīng)用程序和負(fù)載的關(guān)系..................................................38
數(shù)據(jù)庫的可擴(kuò)展性很難保證...................................................39
第7 課處理大規(guī)模數(shù)據(jù)的基礎(chǔ)知識(shí)...........................................44
面向程序員的大規(guī)模數(shù)據(jù)的基礎(chǔ)...........................................44
處理大規(guī)模數(shù)據(jù)的三個(gè)重點(diǎn)——寫程序的技巧...................44
處理大規(guī)模數(shù)據(jù)之前的三大前提知識(shí)——程序開發(fā)的
底層基礎(chǔ) ..................................................................................45
第3 章操作系統(tǒng)的緩存和分布式
——高效處理大規(guī)模數(shù)據(jù)的原理.................................50
第8 課操作系統(tǒng)的緩存機(jī)制........................................................51
在理解操作系統(tǒng)緩存的基礎(chǔ)上編寫應(yīng)用程序——頁面
緩存 ..........................................................................................51
虛擬內(nèi)存機(jī)制..........................................................................52
Linux 頁面緩存原理................................................................54
VFS...........................................................................................56
Linux 以頁面為單位緩存磁盤................................................57
內(nèi)存空閑時(shí)就緩存——通過sar 確認(rèn).....................................59
增加內(nèi)存降低I/O 負(fù)載...........................................................60
頁面緩存是透明的..................................................................61
第9 課降低 I/O 負(fù)載的策略.........................................................67
以緩存為前提的降低I/O 負(fù)載的策略...................................67
擴(kuò)展到多臺(tái)服務(wù)器——無法全部緩存的情況.......................68
單純?cè)黾訑?shù)量無法保證可擴(kuò)展性...........................................69
第10 課利用局部性的分布式...................................................... 74
什么是利用局部性的分布式?............................................ 74
Partitioning——考慮局部性的分布式X.............................. 75
根據(jù)訪問模式分割成“島”——考慮局部性的分布式Y(jié)... 78
以頁面緩存為前提的基本應(yīng)用規(guī)則.................................... 79
第4 章數(shù)據(jù)庫的橫向擴(kuò)展策略
——以分布式為基礎(chǔ)的MySQL 應(yīng)用.........................82
第11 課正確應(yīng)用索引
——分布式MySQL 應(yīng)用的大前提............................ 83
分布式MySQL 應(yīng)用的三大要點(diǎn)........................................ 83
??靈活應(yīng)用操作系統(tǒng)緩存.................................................... 83
索引的重點(diǎn)——B 樹............................................................ 86
索引的效果........................................................................... 89
確認(rèn)索引是否有效的方法——explain 命令........................ 92
第12 課 MySQL 的分布式
——以擴(kuò)展為前提的系統(tǒng)設(shè)計(jì).................................... 95
MySQL 的replication 功能.................................................. 95
master/slave 的特征——對(duì)參照系進(jìn)行擴(kuò)展,更新類
不擴(kuò)展 ................................................................................... 96
第13 課 MySQL 的橫向擴(kuò)展和Partitioning ............................ 99
MySQL 的橫向擴(kuò)展策略..................................................... 99
關(guān)于Partitioning(表分割)的補(bǔ)充.................................... 99
以Partitioning 為前提的設(shè)計(jì)............................................... 99
避免JOIN——利用where…in…......................................... 102
Partitioning 的代價(jià)............................................................. 103
第2~4 章的小結(jié)............................................................... 107
第5 章大規(guī)模數(shù)據(jù)處理“實(shí)踐”入門
——應(yīng)用程序開發(fā)的重點(diǎn).............................................108
第14 課特殊用途索引——處理大規(guī)模數(shù)據(jù)........................ 109
索引和系統(tǒng)架構(gòu)——超過RDBMS 的處理能力時(shí)........... 109
特殊用途索引——使用調(diào)優(yōu)后的數(shù)據(jù)結(jié)構(gòu).......................111
第15 課理論聯(lián)系實(shí)踐..................................................................115
探尋必須的技術(shù)條件..........................................................115
第2~5 章小結(jié)....................................................................117
第6 章壓縮編程
——考慮數(shù)據(jù)大小和I/O 加速之間的關(guān)系.............118
第16 課[課題]以緊湊、簡(jiǎn)潔方式保存整數(shù)數(shù)據(jù)..............119
以緊湊方式保存整數(shù)數(shù)據(jù)..................................................119
出題意圖——解決該課題有什么好處?...........................119
課題所用文件的內(nèi)容..........................................................121
第17 課可變字節(jié)碼和速度的感覺...........................................122
可變字節(jié)碼——用緊湊格式保存整數(shù)數(shù)據(jù).......................122
可變字節(jié)碼的偽代碼..........................................................123
用“差”存儲(chǔ)已排序整數(shù)..................................................126
(補(bǔ)充??)壓縮的基礎(chǔ)........................................................126
(補(bǔ)充??)壓縮對(duì)象是整數(shù)的情形——背景理論.............127
第18 課課題詳解及解答范例....................................................129
課題詳解..............................................................................129
(參考??)pack()函數(shù)——將Perl 內(nèi)部數(shù)據(jù)結(jié)構(gòu)以
二進(jìn)制形式輸出..................................................................131
(參考??)二進(jìn)制數(shù)據(jù)的read/write ...................................133
(參考??)性能分析............................................................135
解答范例和思路..................................................................136
第7 章算法實(shí)用化
——從身邊的例子來看理論、研究的實(shí)踐投入....142
第19 課算法和算法評(píng)測(cè).............................................................143
數(shù)據(jù)規(guī)模和復(fù)雜度的差異..................................................143
何謂算法?..........................................................................144
學(xué)習(xí)算法的意義——計(jì)算機(jī)資源有限,工程師的通用
語言......................................................................................145
算法評(píng)測(cè)——復(fù)雜度記法...................................................146
紙巾能折疊幾次?——O(logn)和O(n)的差距..................148
算法和數(shù)據(jù)結(jié)構(gòu)——千絲萬縷的聯(lián)系...............................149
復(fù)雜度和常數(shù)項(xiàng)——評(píng)測(cè)很重要.......................................150
應(yīng)用算法的實(shí)際情況——簡(jiǎn)單就是美.............................. 151
靈活應(yīng)用第三方實(shí)現(xiàn)——CPAN 等................................... 153
通過實(shí)例加深感受............................................................. 155
第20 課 Hatena Diary 的關(guān)鍵字鏈接........................................ 156
什么是關(guān)鍵字鏈接? ......................................................... 156
最初的實(shí)現(xiàn)......................................................................... 156
出問題了!——關(guān)鍵字字典越來越大.............................. 157
用模式匹配實(shí)現(xiàn)關(guān)鍵字鏈接的問題.................................. 158
從正則表達(dá)式到Trie——改變匹配的實(shí)現(xiàn)方式............... 158
Aho-Corasick 算法.............................................................. 160
換成Regexp::List................................................................ 162
關(guān)鍵字鏈接的實(shí)現(xiàn)、變遷和考察...................................... 163
第21 課 Hatena Bookmark 的文章分類................................... 164
什么是文章分類? ............................................................. 164
機(jī)器學(xué)習(xí)和大規(guī)模數(shù)據(jù)..................................................... 165
大規(guī)模數(shù)據(jù)和Web 服務(wù)——The Google Way of Science ... 166
貝葉斯過濾器的原理......................................................... 167
算法實(shí)用化之路——Hatena Bookmark 的實(shí)例................ 170
防守姿態(tài)和進(jìn)攻姿態(tài)——從文檔分類功能說開去........... 171
第8 章 Hatena 關(guān)鍵字鏈接的實(shí)現(xiàn)
——理解通向應(yīng)用之路..................................................176
第22 課[課題]創(chuàng)建Hatena 關(guān)鍵字鏈接............................. 177
使用Aho-Corasick 算法創(chuàng)建Hatena 關(guān)鍵字鏈接............ 177
編寫測(cè)試............................................................................. 180
第23 課解答范例和思路............................................................. 182
解答范例............................................................................. 182
第9 章挑戰(zhàn)全文搜索技術(shù)
——各種各樣的大規(guī)模數(shù)據(jù)處理經(jīng)驗(yàn)技巧...........184
第24 課全文搜索技術(shù)的應(yīng)用范圍.......................................... 185
用Hatena 的數(shù)據(jù)創(chuàng)建搜索引擎........................................ 185
Hatena Diray 的全文搜索——搜索服務(wù)之外的搜索
系統(tǒng)..................................................................................... 185
Hatena Bookmark 的全文搜索——滿足細(xì)節(jié)要求的系統(tǒng)... 187
第25 課搜索系統(tǒng)的架構(gòu).............................................................190
搜索系統(tǒng)所需的步驟..........................................................190
各種各樣的搜索引擎..........................................................191
全文搜索的種類..................................................................193
第26 課搜索引擎的內(nèi)部結(jié)構(gòu)....................................................198
逆向索引的結(jié)構(gòu)——Dictionary+Postings..........................198
Dictionary 的創(chuàng)建方法——逆向索引的創(chuàng)建方法1 .........200
小結(jié)......................................................................................210
Postings 的創(chuàng)建方法——逆向索引的創(chuàng)建方法2 ............211
關(guān)于評(píng)分的補(bǔ)充..................................................................213
參考文獻(xiàn)..............................................................................214
第10 章創(chuàng)建全文搜索引擎
——基本部分、改進(jìn)、速度和準(zhǔn)確度的要求....216
第27 課[課題]創(chuàng)建Hatena Bookmark 全文搜索..............217
開發(fā)全文搜索引擎..............................................................217
課題內(nèi)容..............................................................................217
示例數(shù)據(jù)格式和數(shù)據(jù)大小..................................................218
字典的組成——Dictionary、Postings ................................219
界面......................................................................................220
基礎(chǔ)部分+改進(jìn)...................................................................220
以速度和準(zhǔn)確度一決勝負(fù)..................................................221
第28 課答案范例和思路.............................................................223
解答范例..............................................................................223
indexer pl 的實(shí)現(xiàn).................................................................223
searcher pl 的實(shí)現(xiàn)................................................................225
可以改善的地方..................................................................227
第11 章支持大規(guī)模數(shù)據(jù)處理的服務(wù)器/基礎(chǔ)設(shè)施入門
—— Web 服務(wù)的后臺(tái)..................................................230
第29 課企業(yè)軟件vs. Web 服務(wù).................................................231
企業(yè)軟件vs. Web 服務(wù)——應(yīng)用范圍上的差異................231
Web 服務(wù)的基礎(chǔ)設(shè)施——三個(gè)重點(diǎn)..................................233
第30 課云 vs.自行構(gòu)建基礎(chǔ)設(shè)施..............................................235
云計(jì)算..................................................................................235
云的優(yōu)缺點(diǎn)......................................................................... 235
Hatena 應(yīng)用的云服務(wù)......................................................... 236
自行構(gòu)筑基礎(chǔ)設(shè)施的優(yōu)點(diǎn)................................................. 237
自行構(gòu)建基礎(chǔ)設(shè)施和垂直結(jié)合模型.................................. 239
Hatena 的服務(wù)規(guī)模............................................................. 240
Hatena Bookmark 的系統(tǒng)架構(gòu)圖....................................... 240
第12 章保證可擴(kuò)展性的必要思路
——規(guī)模擴(kuò)大和系統(tǒng)擴(kuò)展..........................................242
第31 課層和可擴(kuò)展性................................................................. 243
對(duì)可擴(kuò)展性的要求——一臺(tái)服務(wù)器能處理的流量極限.... 243
各層的可擴(kuò)展性................................................................. 244
第32 課掌握負(fù)載進(jìn)行調(diào)優(yōu)........................................................ 245
掌握負(fù)載——可視化的管理界面...................................... 245
測(cè)量負(fù)載的指標(biāo)——平均負(fù)載、內(nèi)存和CPU 相關(guān)信息.... 247
根據(jù)用途進(jìn)行調(diào)優(yōu)——面向用戶的服務(wù)器和面向爬蟲
的服務(wù)器 ............................................................................. 247
應(yīng)用程序服務(wù)器、數(shù)據(jù)庫服務(wù)器的調(diào)優(yōu)策略和服務(wù)器
數(shù)量 ..................................................................................... 249
服務(wù)規(guī)模和調(diào)優(yōu)................................................................. 250
保證可擴(kuò)展性..................................................................... 251
第13 章保證冗余性和系統(tǒng)的穩(wěn)定化
——實(shí)現(xiàn)100%在線率的原理..................................252
第33 課保證冗余性...................................................................... 253
保證冗余性——應(yīng)用程序服務(wù)器...................................... 253
保證冗余性——數(shù)據(jù)庫服務(wù)器.......................................... 254
保證冗余性——存儲(chǔ)服務(wù)器.............................................. 257
第34 課系統(tǒng)穩(wěn)定化...................................................................... 261
保持系統(tǒng)穩(wěn)定的權(quán)衡......................................................... 261
系統(tǒng)的不穩(wěn)定因素............................................................. 262
第35 課系統(tǒng)穩(wěn)定對(duì)策................................................................. 267
實(shí)際的系統(tǒng)穩(wěn)定對(duì)策——維持適當(dāng)余量,消滅不穩(wěn)定
因素 ..................................................................................... 267
第14 章提高效率
——提高硬件資源的使用率......................................270
第36 課虛擬化技術(shù)......................................................................271
引入虛擬化技術(shù)..................................................................271
虛擬化技術(shù)的效果..............................................................272
虛擬服務(wù)器的構(gòu)建策略......................................................273
總結(jié)虛擬化的優(yōu)勢(shì)..............................................................275
虛擬化和運(yùn)營(yíng)——通過服務(wù)器管理工具在運(yùn)營(yíng)上發(fā)揮
虛擬化的優(yōu)勢(shì)......................................................................276
虛擬化的注意點(diǎn)..................................................................277
第37 課硬件和提高效率
——實(shí)現(xiàn)低成本的關(guān)鍵技術(shù)........................................280
提高處理器性能..................................................................280
內(nèi)存和硬盤成本下降..........................................................281
有效利用廉價(jià)硬件——以虛擬化為前提的硬件應(yīng)用.......282
SSD ......................................................................................284
第15 章 Web 服務(wù)和網(wǎng)絡(luò)
——通過網(wǎng)絡(luò)看服務(wù)增長(zhǎng)...........................................288
第38 課網(wǎng)絡(luò)的分界點(diǎn)..................................................................289
服務(wù)增長(zhǎng)和網(wǎng)絡(luò)的分界點(diǎn)..................................................289
1Gbps 的極限——PC 路由器的極限.................................289
500 臺(tái)主機(jī)的極限——子網(wǎng)、ARP 表的極限...................290
網(wǎng)絡(luò)架構(gòu)的層次化..............................................................291
全球化..................................................................................292
第39 課挑戰(zhàn)更高的極限.............................................................295
超越10Gbps 的世界...........................................................295
Hatena 的基礎(chǔ)設(shè)施——第11~15 章的總結(jié).....................296
第16 章特別篇 當(dāng)前構(gòu)建Web 服務(wù)需要的實(shí)踐技術(shù)
——應(yīng)對(duì)大規(guī)模Web 服務(wù)須知...............................298
特別篇第1 課作業(yè)隊(duì)列系統(tǒng)TheSchwartz、Gearman .......299
Web 服務(wù)和請(qǐng)求......................................................299
作業(yè)隊(duì)列系統(tǒng)入門...................................................299
Hatena 的作業(yè)隊(duì)列系統(tǒng)..........................................300
通過日志進(jìn)行分析.................................................. 302
特別篇第2 課存儲(chǔ)方式的選擇RDBMS 還是
key-value 存儲(chǔ)..................................................... 303
如何保存不斷增加的數(shù)據(jù)...................................... 303
選擇存儲(chǔ)系統(tǒng)的前提條件...................................... 304
存儲(chǔ)系統(tǒng)的種類...................................................... 305
RDBMS.................................................................... 305
分布式key-value 存儲(chǔ)............................................ 308
分布式文件系統(tǒng)...................................................... 310
其他存儲(chǔ).................................................................. 312
存儲(chǔ)系統(tǒng)的選擇策略.............................................. 314
特別篇第3 課緩存系統(tǒng)——Squid、Varnish......................... 315
Web 應(yīng)用程序負(fù)載與代理/緩存系統(tǒng)..................... 315
Squid——基本結(jié)構(gòu)................................................. 317
Varnish...................................................................... 321
特別篇第4 課計(jì)算集群——Hadoop........................................ 323
大量日志數(shù)據(jù)的并行處理 ...................................... 323
MapReduce 計(jì)算模型.............................................. 323
Hadoop ..................................................................... 325
索引..................................................................................................327
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版