存儲(chǔ)方案設(shè)計(jì)原則_第1頁(yè)
存儲(chǔ)方案設(shè)計(jì)原則_第2頁(yè)
存儲(chǔ)方案設(shè)計(jì)原則_第3頁(yè)
存儲(chǔ)方案設(shè)計(jì)原則_第4頁(yè)
存儲(chǔ)方案設(shè)計(jì)原則_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第 第 頁(yè)存儲(chǔ)方案設(shè)計(jì)原則1、CAP理論2000年Eric Brewer教授提出了聞名的CAP理論,即:一個(gè)分布式系統(tǒng)不可能滿意全都性,可用性和分區(qū)容錯(cuò)性這三個(gè)需求,最多只能同時(shí)滿意兩個(gè)。2022年MIT的Seth Gilbert 和 Nancy lynch兩人證明白CAP理論的正確性。依據(jù)CAP理論,全都性C,可用性A,分區(qū)容錯(cuò)性P,三者不可兼得,需要有所取舍。因此系統(tǒng)架構(gòu)師不要把精力糜費(fèi)在如何設(shè)計(jì)才能同時(shí)滿意CAP三者的完滿分布式系統(tǒng),而是應(yīng)當(dāng)討論如何進(jìn)行取舍,滿意實(shí)際的業(yè)務(wù)需求。C: Consistency全都性,任何一個(gè)讀操作總是能讀取到之前完成的寫(xiě)操作結(jié)果,也就是在分布式環(huán)境中,多點(diǎn)

2、的數(shù)據(jù)是全都的;A: Availability可用性,每一個(gè)操作總是能夠在確定的時(shí)間內(nèi)返回,也就是系統(tǒng)隨時(shí)都是可用的;P: Tolerance of network Partition分區(qū)容忍性,在涌現(xiàn)網(wǎng)絡(luò)分區(qū)比如斷網(wǎng)的狀況下,分別的系統(tǒng)也能正常運(yùn)行;對(duì)于分布式存儲(chǔ)系統(tǒng)而言,分區(qū)容錯(cuò)性P是基本需求,因此只有CP和AP兩種選擇。CP模式保證分布在網(wǎng)絡(luò)上不同節(jié)點(diǎn)數(shù)據(jù)的全都性,但對(duì)可用性支持不足,這類系統(tǒng)主要有BigTable, HBASE, MongoDB, Redis, MemcacheDB, Berkeley DB等。AP模式主要以實(shí)現(xiàn)最終全都性Eventual Consistency來(lái)確???/p>

3、用性和分區(qū)容忍性,但弱化了數(shù)據(jù)全都性要求,典型系統(tǒng)包括Dynamo, Tokyo Cabinet, Cassandra, CouchDB, SimpleDB等。2、Eventual Consistency最終全都性簡(jiǎn)而言之:過(guò)程松,結(jié)果緊,最終結(jié)果需要保持全都性。從客戶端考慮數(shù)據(jù)全都性模型,假設(shè)如下場(chǎng)景:存儲(chǔ)系統(tǒng):它在本質(zhì)上是大規(guī)模且高度分布的系統(tǒng),其創(chuàng)建目的是為了保證耐用性和可用性。進(jìn)程A:對(duì)存儲(chǔ)系統(tǒng)進(jìn)行讀寫(xiě)。進(jìn)程B和C:這兩個(gè)進(jìn)程完全獨(dú)立于進(jìn)程A,也讀寫(xiě)存儲(chǔ)系統(tǒng)??蛻舳巳夹孕枰幚硪粋€(gè)觀測(cè)者在此即進(jìn)程A、B或C如何以及何時(shí)看到存儲(chǔ)系統(tǒng)中的一個(gè)數(shù)據(jù)對(duì)象被更新。依據(jù)以上場(chǎng)景可以得到如下三種全

4、都性模型:強(qiáng)全都性:在更新完成后,A、B或C進(jìn)行的任何后續(xù)訪問(wèn)都將返回更新過(guò)的值。弱全都性:系統(tǒng)不保證后續(xù)訪問(wèn)將返回更新過(guò)的值,在那之前要先滿意假設(shè)干條件。從更新到保證任一觀測(cè)者看到更新值的時(shí)刻之間的這段時(shí)間被稱為不全都窗口。最終全都性:這是弱全都性的一種非常形式;存儲(chǔ)系統(tǒng)保證假如對(duì)象沒(méi)有新的更新,最終全部訪問(wèn)都將返回最末更新的值。假如沒(méi)有發(fā)生故障,不全都窗口的最大值可以依據(jù)以下因素確定,比如通信延遲、系統(tǒng)負(fù)載、復(fù)制方案涉及的副本數(shù)量??蛻舳巳夹阅P偷淖凅w有:因果全都性Causal consistency:假如進(jìn)程A通知進(jìn)程B它已更新了一個(gè)數(shù)據(jù)項(xiàng),那么進(jìn)程B的后續(xù)訪問(wèn)將返回更新后的值,且一次

5、寫(xiě)入將保證取代前一次寫(xiě)入。與進(jìn)程A無(wú)因果關(guān)系的進(jìn)程C的訪問(wèn)遵守一般的最終全都性規(guī)章?!白x己之所寫(xiě)”全都性Readyourwrites consistency:這是一個(gè)重要的模型。當(dāng)進(jìn)程A自己更新一個(gè)數(shù)據(jù)項(xiàng)之后,它總是訪問(wèn)到更新過(guò)的值,絕不會(huì)看到舊值。這是因果全都性模型的一個(gè)特例。會(huì)話全都性Session consistency:這是上一個(gè)模型的有用版本,它把訪問(wèn)存儲(chǔ)系統(tǒng)的進(jìn)程放到會(huì)話的上下文中。只要會(huì)話還存在,系統(tǒng)就保證“讀己之所寫(xiě)”全都性,系統(tǒng)保證也不會(huì)連續(xù)到新的會(huì)話。單調(diào)讀全都性Monotonic read consistency:假如進(jìn)程已經(jīng)看到過(guò)數(shù)據(jù)對(duì)象的某個(gè)值,那么任何后續(xù)訪問(wèn)都不會(huì)

6、返回在那個(gè)值之前的值。單調(diào)寫(xiě)全都性Monotonic write consistency:系統(tǒng)保證來(lái)自同一個(gè)進(jìn)程的寫(xiě)操作順次執(zhí)行。要是系統(tǒng)不能保證這種程度的全都性,就特別難以編程了。3、BASE理論BASE,即Basically Availble基本可用、Softstate 軟狀態(tài)、Eventual Consistency 最終全都性。BASE的英文意義是堿,而ACID是酸,有點(diǎn)水火不容的意思。關(guān)系數(shù)據(jù)庫(kù)的ACID模型擁有高全都性和牢靠性,丟失可用性。ACID,即原子性Atomicity、全都性Consistency、隔離性Isolation、長(zhǎng)久性Durability。其中的全都性強(qiáng)調(diào)事務(wù)完

7、成時(shí),數(shù)據(jù)庫(kù)處于全都的狀態(tài)。對(duì)于許多應(yīng)用來(lái)說(shuō),全都性要求可以降低,而可用性Availability的要求那么更為明顯。從而產(chǎn)生了弱全都性的理論BASE。 BASE模型反ACID模型,完全不同ACID模型,犧牲高全都性,獲得可用性或牢靠性。它僅需要保證系統(tǒng)基本可用,支持分區(qū)失敗,允許狀態(tài)在肯定時(shí)間內(nèi)不同步,保證數(shù)據(jù)達(dá)到最終全都性即可。BASE思想主要強(qiáng)調(diào)基本的可用性,假如你需要高可用性,也就是純粹的高性能,那么就要以全都性或容錯(cuò)性為犧牲,BASE思想的方案在性能上還是有潛力可挖的。4、I/O五分鐘法那么1987年,Jim Gray 與 Gianfranco Putzolu 發(fā)表了五分鐘法那么的觀

8、點(diǎn),簡(jiǎn)而言之,假如一條記錄經(jīng)常被訪問(wèn),就應(yīng)當(dāng)放到內(nèi)存里,否那么的話就應(yīng)當(dāng)待在硬盤上按需要再訪問(wèn)。這個(gè)臨界點(diǎn)就是五分鐘??瓷先ハ褚粭l閱歷性的法那么,事實(shí)上五分鐘的評(píng)估標(biāo)準(zhǔn)是依據(jù)投入成本判斷的,依據(jù)當(dāng)時(shí)的硬件進(jìn)展水準(zhǔn),在內(nèi)存中保持1KB的數(shù)據(jù)成本相當(dāng)于硬盤中存儲(chǔ)400秒的開(kāi)銷接近五分鐘。這個(gè)法那么在 1997 年左右的時(shí)候進(jìn)行過(guò)一次回顧,證明了五分鐘法那么依舊有效硬盤、內(nèi)存事實(shí)上沒(méi)有質(zhì)的飛躍,而這次的回顧那么是針對(duì) SSD 這個(gè)新的舊硬件可能帶來(lái)的影響。隨著閃存時(shí)代的來(lái)臨,五分鐘法那么一分為二:是把 SSD 當(dāng)成較慢的內(nèi)存e*tended buffer pool 運(yùn)用還是當(dāng)成較快的硬盤e*tend

9、ed disk運(yùn)用。小內(nèi)存頁(yè)在內(nèi)存和閃存之間的移動(dòng)對(duì)比大內(nèi)存頁(yè)在閃存和磁盤之間的移動(dòng)。在這個(gè)法那么首次提出的 20 年之后,在閃存時(shí)代,5 分鐘法那么依舊有效,只不過(guò)適合更大的內(nèi)存頁(yè)適合 64KB 的頁(yè),這個(gè)頁(yè)大小的改變恰恰表達(dá)了計(jì)算機(jī)硬件工藝的進(jìn)展,以及帶寬、延時(shí)。依據(jù)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)特點(diǎn)的不同,對(duì)于文件系統(tǒng)來(lái)說(shuō), 操作系統(tǒng)傾向于將 SSD 當(dāng)作瞬時(shí)內(nèi)存cache來(lái)運(yùn)用。而對(duì)于數(shù)據(jù)庫(kù),傾向于將 SSD 當(dāng)作全都性存儲(chǔ)來(lái)用。5、Amdahl定律和Gustafson定律這里我們以Sn表示n核系統(tǒng)對(duì)詳細(xì)程序的加速比,K表示串行部分計(jì)算時(shí)間比例。Amdahl 定律的加速比:Sn 運(yùn)用1個(gè)處理器的串行計(jì)算時(shí)間 / 運(yùn)用n個(gè)處理器的并行計(jì)算時(shí)間,Sn = 1/K+1K/n = n/1+n1KGustafson定律的加速比:Sn 運(yùn)用n個(gè)處理器的并行計(jì)算量

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論