這些年我們聽到了大量與存儲和處理數(shù)據(jù)相關(guān)的技術(shù),NoSQL, BigData, 服務(wù)擴(kuò)展性,分區(qū)分組,ACID,CAP理論, 云服務(wù),mapreduce,實(shí)時處理。為什么會有這些技術(shù)呢?
1. 互聯(lián)網(wǎng)公司擁有海量的數(shù)據(jù)以逼迫他們開發(fā)新的工具來有效處理如此大量的規(guī)模
2. 商業(yè)中需要靈活快速的試錯,對新的市場發(fā)現(xiàn)快速進(jìn)行反應(yīng),保持更短的迭代周期和更靈活的數(shù)據(jù)模型
3. 開源社區(qū)的越來越成功
4. CPU速度的發(fā)展趨緩,多核處理器成為標(biāo)準(zhǔn),網(wǎng)絡(luò)越來越快,這意味著并發(fā)會進(jìn)一步發(fā)展
5. 由于IAAS的出現(xiàn),即使你在一個很小的團(tuán)隊,也可以部署一個跨多機(jī)甚至跨多地的服務(wù)
6. 程序的可靠性要求越來越高,類似停機(jī)維護(hù)變得不可接受
為什么數(shù)據(jù)敏感型應(yīng)用?這本書主要講什么?
--------------------
? 當(dāng)數(shù)據(jù)成為了一個應(yīng)用的的主要挑戰(zhàn)時,這就是一個數(shù)據(jù)敏感性應(yīng)用,挑戰(zhàn)包括數(shù)據(jù)量大,數(shù)據(jù)復(fù)雜,數(shù)據(jù)變化速度快等等。與之所對應(yīng)的式傳統(tǒng)的CPU計算是瓶頸的計算敏感性應(yīng)用。
? 為此我們發(fā)明了很多技術(shù),但是萬變不離其宗,所有的變化都有著一些不變的規(guī)律,這本書主要就來講解這些規(guī)律。幫助我們思考數(shù)據(jù)敏感的系統(tǒng),不光是他們?nèi)绾芜\(yùn)轉(zhuǎn)的,還有為什么要這么設(shè)計。
誰應(yīng)該讀這本書?這本書能讓你收獲什么
--------
1. 設(shè)計開發(fā)服務(wù)大量用戶的系統(tǒng)
2. 服務(wù)高可用性
3. 服務(wù)便于維護(hù)
雖然不我們不是google,amazon,有那么~~多的數(shù)據(jù)需要處理,但是我們在日常生活中,仍然需要選擇正確的技術(shù)來處理我們的數(shù)據(jù)。所以我們需要了解不同技術(shù)的優(yōu)勢和劣勢。
## 本書結(jié)構(gòu) ##
本書分3部分
+ Part1. 討論基本原理思想,第一章講我們的目標(biāo),可靠性,可擴(kuò)展性,可維護(hù)性,我們怎么去理解他們以及如獲取實(shí)現(xiàn)他們。第二章對比了不同的數(shù)據(jù)模型和查詢語言,看看他們在不同場景下的表現(xiàn)如何。第三章講存儲模型,數(shù)據(jù)庫在磁盤上是如何存儲數(shù)據(jù)的以使得我們可以快速查找。第四章轉(zhuǎn)向了數(shù)據(jù)序列化的內(nèi)容。
+ Part2. 我們從單機(jī)存儲轉(zhuǎn)向了分布式存儲。第五章講多備份(replication), 第六章講分區(qū)分組(partitioning/sharding) 第七章講事務(wù)(transcation),第八章講解在實(shí)際分布式系統(tǒng)中遇到的更為具體的問題。第九章講,翻譯看不懂……, consistency and consensus
+ Part3. 討論從一個數(shù)據(jù)集轉(zhuǎn)換的問題,這種情況經(jīng)常發(fā)生在異構(gòu)系統(tǒng)中,也就是任何一種數(shù)據(jù)庫都不能支持業(yè)務(wù),需要多種技術(shù)組合處理。第十章講批量處理,第十一章講流處理,第十二章,最后一章,總結(jié)