久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      • 存儲方案設(shè)計原則

        時間:2022-07-04 01:49:48 輔助設(shè)計與工程計算 我要投稿
        • 相關(guān)推薦

        存儲方案設(shè)計原則

          設(shè)計是 把一種設(shè)想 通過合理的規(guī)劃 周密的計劃 通過各種感覺形式傳達(dá)出來的過程。以下是小編整理的存儲方案設(shè)計原則,希望能夠幫助到大家!

        存儲方案設(shè)計原則

          1、CAP理論

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

          2002年MIT的Seth Gilbert 和 Nancy lynch兩人證明了CAP理論的正確性。

          根據(jù)CAP理論,一致性(C),可用性(A),分區(qū)容錯性(P),三者不可兼得,必須有所取舍。

          因此系統(tǒng)架構(gòu)師不要把精力浪費在如何設(shè)計才能同時滿足CAP三者的完美分布式系統(tǒng),而是應(yīng)該研究如何進(jìn)行取舍,滿足實際的業(yè)務(wù)需求。

          C: Consistency(一致性),任何一個讀操作總是能讀取到之前完成的寫操作結(jié)果,也就是在分布式環(huán)境中,多點的數(shù)據(jù)是一致的;

          A: Availability(可用性),每一個操作總是能夠在確定的時間內(nèi)返回,也就是系統(tǒng)隨時都是可用的;

          P: Tolerance of network Partition(分區(qū)容忍性),在出現(xiàn)網(wǎng)絡(luò)分區(qū)(比如斷網(wǎng))的情況下,分離的系統(tǒng)也能正常運行;

          對于分布式存儲系統(tǒng)而言,分區(qū)容錯性(P)是基本需求,因此只有CP和AP兩種選擇。CP模式保證分布在網(wǎng)絡(luò)上不同節(jié)點數(shù)據(jù)的一致性,但對可用性支持不足,這類系統(tǒng)主要有BigTable, HBASE, MongoDB, Redis, MemcacheDB, Berkeley DB等。AP模式主要以實現(xiàn)"最終一致性(Eventual Consistency)"來確?捎眯院头謪^(qū)容忍性,但弱化了數(shù)據(jù)一致性要求,典型系統(tǒng)包括Dynamo, Tokyo Cabinet, Cassandra, CouchDB, SimpleDB等。

          2、Eventual Consistency(最終一致性)

          簡而言之:過程松,結(jié)果緊,最終結(jié)果必須保持一致性。

          從客戶端考慮數(shù)據(jù)一致性模型,假設(shè)如下場景:

          存儲系統(tǒng):它在本質(zhì)上是大規(guī)模且高度分布的系統(tǒng),其創(chuàng)建目的是為了保證耐用性和可用性。

          進(jìn)程A:對存儲系統(tǒng)進(jìn)行讀寫。

          進(jìn)程B和C:這兩個進(jìn)程完全獨立于進(jìn)程A,也讀寫存儲系統(tǒng)?蛻舳艘恢滦员仨毺幚硪粋觀察者(在此即進(jìn)程A、B或C)如何以及何時看到存儲系統(tǒng)中的一個數(shù)據(jù)對象被更新。

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

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

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

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

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

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

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

          會話一致性(Session consistency):這是上一個模型的實用版本,它把訪問存儲系統(tǒng)的進(jìn)程放到會話的上下文中。只要會話還存在,系統(tǒng)就保證“讀己之所寫”一致性,系統(tǒng)保證也不會延續(xù)到新的會話。

          單調(diào)讀一致性(Monotonic read consistency):如果進(jìn)程已經(jīng)看到過數(shù)據(jù)對象的某個值,那么任何后續(xù)訪問都不會返回在那個值之前的值。

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

          3、BASE理論

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

          關(guān)系數(shù)據(jù)庫的ACID模型擁有高一致性和可靠性,喪失可用性。ACID,即原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。其中的一致性強(qiáng)調(diào)事務(wù)完成時,數(shù)據(jù)庫處于一致的狀態(tài)。對于很多應(yīng)用來說,一致性要求可以降低,而可用性(Availability)的要求則更為明顯。從而產(chǎn)生了弱一致性的理論BASE。 BASE模型反ACID模型,完全不同ACID模型,犧牲高一致性,獲得可用性或可靠性。它僅需要保證系統(tǒng)基本可用,支持分區(qū)失敗,允許狀態(tài)在一定時間內(nèi)不同步,保證數(shù)據(jù)達(dá)到最終一致性即可。BASE思想主要強(qiáng)調(diào)基本的可用性,如果你需要高可用性,也就是純粹的高性能,那么就要以一致性或容錯性為犧牲,BASE思想的方案在性能上還是有潛力可挖的。

          4、I/O五分鐘法則

          1987年,Jim Gray 與 Gianfranco Putzolu 發(fā)表了"五分鐘法則"的觀點,簡而言之,如果一條記錄頻繁被訪問,就應(yīng)該放到內(nèi)存里,否則的話就應(yīng)該待在硬盤上按需要再訪問。這個臨界點就是五分鐘?瓷先ハ褚粭l經(jīng)驗性的法則,實際上五分鐘的評估標(biāo)準(zhǔn)是根據(jù)投入成本判斷的,根據(jù)當(dāng)時的硬件發(fā)展水準(zhǔn),在內(nèi)存中保持1KB的數(shù)據(jù)成本相當(dāng)于硬盤中存儲400秒的開銷(接近五分鐘)。這個法則在 1997 年左右的時候進(jìn)行過一次回顧,證實了五分鐘法則依然有效(硬盤、內(nèi)存實際上沒有質(zhì)的飛躍),而這次的回顧則是針對 SSD 這個"新的舊硬件"可能帶來的影響。

          隨著閃存時代的來臨,五分鐘法則一分為二:是把 SSD 當(dāng)成較慢的內(nèi)存(extended buffer pool )使用還是當(dāng)成較快的硬盤(extended disk)使用。小內(nèi)存頁在內(nèi)存和閃存之間的移動對比大內(nèi)存頁在閃存和磁盤之間的移動。在這個法則首次提出的 20 年之后,在閃存時代,5 分鐘法則依然有效,只不過適合更大的內(nèi)存頁(適合 64KB 的頁,這個頁大小的變化恰恰體現(xiàn)了計算機(jī)硬件工藝的發(fā)展,以及帶寬、延時)。

          根據(jù)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)特點的不同,對于文件系統(tǒng)來說, 操作系統(tǒng)傾向于將 SSD 當(dāng)作瞬時內(nèi)存(cache)來使用。而對于數(shù)據(jù)庫,傾向于將 SSD 當(dāng)作一致性存儲來用。

          5、Amdahl定律和Gustafson定律

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

          Amdahl 定律的加速比:S(n) = 使用1個處理器的串行計算時間 / 使用n個處理器的并行計算時間,S(n) = 1/(K+(1—K)/n) = n/(1+(n—1)K)

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

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

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

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

        【存儲方案設(shè)計原則】相關(guān)文章:

        技術(shù)方案設(shè)計原則04-25

        網(wǎng)絡(luò)在線存儲工具有哪些?04-17

        存儲系統(tǒng) 基本要求07-02

        中國郵政銀行存儲利息07-12

        立冬養(yǎng)生原則07-05

        MBA的面試原則07-01

        選股票的原則07-04

        股票成交原則07-02

        股票的成交原則07-02

        面試的原則解析07-13