97超级碰碰碰久久久_精品成年人在线观看_精品国内女人视频免费观_福利一区二区久久

存儲(chǔ)系統(tǒng) 基本要求

時(shí)間:2022-07-02 19:43:10 其他 我要投稿
  • 相關(guān)推薦

存儲(chǔ)系統(tǒng) 基本要求

基本原則:

1、CAP理論

2000年Eric Brewer教授提出了著名的CAP理論,即:一個(gè)分布式系統(tǒng)不可能滿足一致性,可用性和分區(qū)容錯(cuò)性這三個(gè)需求,最多只能同時(shí)滿足兩個(gè)。

2002年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)該研究如何進(jìn)行取舍,滿足實(shí)際的業(yè)務(wù)需求。

C: Consistency(一致性),任何一個(gè)讀操作總是能讀取到之前完成的寫(xiě)操作結(jié)果,也就是在分布式環(huán)境中,多點(diǎn)的數(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)確?捎眯院头謪^(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è)觀察者(在此即進(jìn)程A、B或C)如何以及何時(shí)看到存儲(chǔ)系統(tǒng)中的一個(gè)數(shù)據(jù)對(duì)象被更新。

根據(jù)以上場(chǎng)景可以得到如下三種一致性模型:

強(qiáng)一致性:在更新完成后,(A、B或C進(jìn)行的)任何后續(xù)訪問(wèn)都將返回更新過(guò)的值。

弱一致性:系統(tǒng)不保證后續(xù)訪問(wèn)將返回更新過(guò)的值,在那之前要先滿足若干條件。從更新到保證任一觀察者看到更新值的時(shí)刻之間的這段時(shí)間被稱為不一致窗口。

最終一致性:這是弱一致性的一種特殊形式;存儲(chǔ)系統(tǒng)保證如果對(duì)象沒(méi)有新的更新,最終所有訪問(wèn)都將返回最后更新的值。如果沒(méi)有發(fā)生故障,不一致窗口的最大值可以根據(jù)下列因素確定,比如通信延遲、系統(tǒng)負(fù)載、復(fù)制方案涉及的副本數(shù)量。

客戶端一致性模型的變體有:

因果一致性(Causal consistency):如果進(jìn)程A通知進(jìn)程B它已更新了一個(gè)數(shù)據(jù)項(xiàng),那么進(jìn)程B的后續(xù)訪問(wèn)將返回更新后的值,且一次寫(xiě)入將保證取代前一次寫(xiě)入。與進(jìn)程A無(wú)因果關(guān)系的進(jìn)程C的訪問(wèn)遵守一般的最終一致性規(guī)則。

“讀己之所寫(xiě)”一致性(Read-your-writes consistency):這是一個(gè)重要的模型。當(dāng)進(jìn)程A自己更新一個(gè)數(shù)據(jù)項(xiàng)之后,它總是訪問(wèn)到更新過(guò)的值,絕不會(huì)看到舊值。這是因果一致性模型的一個(gè)特例。

會(huì)話一致性(Session consistency):這是上一個(gè)模型的實(shí)用版本,它把訪問(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ì)返回在那個(gè)值之前的值。

單調(diào)寫(xiě)一致性(Monotonic write consistency):系統(tǒng)保證來(lái)自同一個(gè)進(jìn)程的寫(xiě)操作順序執(zhí)行。要是系統(tǒng)不能保證這種程度的一致性,就非常難以編程了。

3、BASE理論

BASE,即Basically Availble(基本可用)、Soft-state (軟狀態(tài))、Eventual Consistency (最終一致性)。BASE的英文意義是堿,而ACID是酸,有點(diǎn)水火不容的意思。

關(guān)系數(shù)據(jù)庫(kù)的ACID模型擁有高一致性和可靠性,喪失可用性。ACID,即原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。其中的一致性強(qiáng)調(diào)事務(wù)完成時(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ā)表了"五分鐘法則"的觀點(diǎn),簡(jiǎn)而言之,如果一條記錄頻繁被訪問(wèn),就應(yīng)該放到內(nèi)存里,否則的話就應(yīng)該待在硬盤(pán)上按需要再訪問(wèn)。這個(gè)臨界點(diǎn)就是五分鐘。看上去像一條經(jīng)驗(yàn)性的法則,實(shí)際上五分鐘的評(píng)估標(biāo)準(zhǔn)是根據(jù)投入成本判斷的,根據(jù)當(dāng)時(shí)的硬件發(fā)展水準(zhǔn),在內(nèi)存中保持1KB的數(shù)據(jù)成本相當(dāng)于硬盤(pán)中存儲(chǔ)400秒的開(kāi)銷(接近五分鐘)。這個(gè)法則在 1997 年左右的時(shí)候進(jìn)行過(guò)一次回顧,證實(shí)了五分鐘法則依然有效(硬盤(pán)、內(nèi)存實(shí)際上沒(méi)有質(zhì)的飛躍),而這次的回顧則是針對(duì) SSD 這個(gè)"新的舊硬件"可能帶來(lái)的影響。

隨著閃存時(shí)代的來(lái)臨,五分鐘法則一分為二:是把 SSD 當(dāng)成較慢的內(nèi)存(extended buffer pool )使用還是當(dāng)成較快的硬盤(pán)(extended disk)使用。小內(nèi)存頁(yè)在內(nèi)存和閃存之間的移動(dòng)對(duì)比大內(nèi)存頁(yè)在閃存和磁盤(pán)之間的移動(dòng)。在這個(gè)法則首次提出的 20 年之后,在閃存時(shí)代,5 分鐘法則依然有效,只不過(guò)適合更大的內(nèi)存頁(yè)(適合 64KB 的頁(yè),這個(gè)頁(yè)大小的變化恰恰體現(xiàn)了計(jì)算機(jī)硬件工藝的發(fā)展,以及帶寬、延時(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)使用。而對(duì)于數(shù)據(jù)庫(kù),傾向于將 SSD 當(dāng)作一致性存儲(chǔ)來(lái)用。

5、Amdahl定律和Gustafson定律

這里我們以S(n)表示n核系統(tǒng)對(duì)具體程序的加速比,K表示串行部分計(jì)算時(shí)間比例。

Amdahl 定律的加速比:S(n) = 使用1個(gè)處理器的串行計(jì)算時(shí)間 / 使用n個(gè)處理器的并行計(jì)算時(shí)間,S(n) = 1/(K+(1-K)/n) = n/(1+(n-1)K)

Gustafson定律的加速比:S(n) = 使用n個(gè)處理器的并行計(jì)算量 / 使用1個(gè)處理器的串行計(jì)算量,S(n) = K+(1-K)n

通俗的講,Amdahl定律將工作量看作1,有n核也只能分擔(dān)1-K的工作量;

而Gustafson定律則將單核工作量看作1,有n核就可以增加n(1-K)的工作量。

這里沒(méi)有考慮引進(jìn)分布式帶來(lái)的開(kāi)銷,如網(wǎng)絡(luò)和加鎖。從性能價(jià)格比的角度看,并不是越分布越好。


【存儲(chǔ)系統(tǒng) 基本要求】相關(guān)文章:

采購(gòu)的基本要求07-02

職場(chǎng)禮儀的基本要求07-01

事跡演講的基本要求08-27

總結(jié)寫(xiě)作的基本要求06-25

gmp規(guī)范的基本要求07-02

安全檢查的基本要求07-02

安全檢查基本要求07-02

采購(gòu)管理的基本要求07-02

保密檢查基本要求07-02