DDBS BASE

BASE

BASE:Basically Available(基本可用),Soft state(軟狀態(tài)), Eventually consistent(最終一致性)。

Base 理論是對 CAP 中一致性和可用性權(quán)衡的結(jié)果,其來源于對大型互聯(lián)網(wǎng)分布式實踐的總結(jié),是基于 CAP 定理逐步演化而來的。其核心思想是:

既然無法做到強一致性(Strong consistency),但每個應(yīng)用都可以根據(jù)自身的業(yè)務(wù)特點,采用適當?shù)姆绞絹硎瓜到y(tǒng)達到最終一致性(Eventual consistency)。


Basically Available(基本可用)

什么是基本可用呢?假設(shè)系統(tǒng),出現(xiàn)了不可預(yù)知的故障,但還是能用,相比較正常的系統(tǒng)而言:

  1. 響應(yīng)時間上的損失:正常情況下的搜索引擎 0.5 秒即返回給用戶結(jié)果,而基本可用的搜索引擎可以在 1 秒作用返回結(jié)果。
  2. 功能上的損失:在一個電商網(wǎng)站上,正常情況下,用戶可以順利完成每一筆訂單,但是到了大促期間,為了保護購物系統(tǒng)的穩(wěn)定性,部分消費者可能會被引導(dǎo)到一個降級頁面。

Soft state(軟狀態(tài))

什么是軟狀態(tài)呢?相對于原子性而言,要求多個節(jié)點的數(shù)據(jù)副本都是一致的,這是一種 “硬狀態(tài)”。

軟狀態(tài)指的是:允許系統(tǒng)中的數(shù)據(jù)存在中間狀態(tài),并認為該狀態(tài)不影響系統(tǒng)的整體可用性,即允許系統(tǒng)在多個不同節(jié)點的數(shù)據(jù)副本存在數(shù)據(jù)延時。

Eventually consistent(最終一致性)

上面說軟狀態(tài),然后不可能一直是軟狀態(tài),必須有個時間期限。在期限過后,應(yīng)當保證所有副本保持數(shù)據(jù)一致性。從而達到數(shù)據(jù)的最終一致性。這個時間期限取決于網(wǎng)絡(luò)延時,系統(tǒng)負載,數(shù)據(jù)復(fù)制方案設(shè)計等等因素。

最終一致性分為 5 種

  1. 因果一致性(Causal consistency)
    指的是:如果節(jié)點 A 在更新完某個數(shù)據(jù)后通知了節(jié)點 B,那么節(jié)點 B 之后對該數(shù)據(jù)的訪問和修改都是基于 A 更新后的值。于此同時,和節(jié)點 A 無因果關(guān)系的節(jié)點 C 的數(shù)據(jù)訪問則沒有這樣的限制。
  2. 讀己之所寫(Read your writes)
    這種就很簡單了,節(jié)點 A 更新一個數(shù)據(jù)后,它自身總是能訪問到自身更新過的最新值,而不會看到舊值。其實也算一種因果一致性。
  3. 會話一致性(Session consistency)
    會話一致性將對系統(tǒng)數(shù)據(jù)的訪問過程框定在了一個會話當中:系統(tǒng)能保證在同一個有效的會話中實現(xiàn) “讀己之所寫” 的一致性,也就是說,執(zhí)行更新操作之后,客戶端能夠在同一個會話中始終讀取到該數(shù)據(jù)項的最新值。
  4. 單調(diào)讀一致性(Monotonic read consistency)
    單調(diào)讀一致性是指如果一個節(jié)點從系統(tǒng)中讀取出一個數(shù)據(jù)項的某個值后,那么系統(tǒng)對于該節(jié)點后續(xù)的任何數(shù)據(jù)訪問都不應(yīng)該返回更舊的值。
  5. 單調(diào)寫一致性(Monotonic write consistency)
    指一個系統(tǒng)要能夠保證來自同一個節(jié)點的寫操作被順序的執(zhí)行。

然而,在實際的實踐中,這 5 種系統(tǒng)往往會結(jié)合使用,以構(gòu)建一個具有最終一致性的分布式系統(tǒng)。實際上,不只是分布式系統(tǒng)使用最終一致性,關(guān)系型數(shù)據(jù)庫在某個功能上,也是使用最終一致性的,比如備份,數(shù)據(jù)庫的復(fù)制過程是需要時間的,這個復(fù)制過程中,業(yè)務(wù)讀取到的值就是舊的。當然,最終還是達成了數(shù)據(jù)一致性。這也算是一個最終一致性的經(jīng)典案例。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.ACID ACID,是指在數(shù)據(jù)庫管理系統(tǒng)(DBMS)中,事務(wù)(transaction)所具有的四個特性:原子性...
    SimpleWater閱讀 720評論 0 1
  • CAP原則又稱CAP定理,指的是在一個分布式系統(tǒng)中, Consistency(一致性)、 Availability...
    施智沂閱讀 799評論 0 0
  • 分布式系統(tǒng)面臨的第一個問題就是數(shù)據(jù)分布,即將數(shù)據(jù)均勻地分布到多個存儲節(jié)點。另外,為了保證可靠性和可用性,需要將數(shù)據(jù)...
    olostin閱讀 4,922評論 2 26
  • 總體評價:7分 總結(jié)前,先默默吐槽一下自己。時隔3個星期的周總結(jié),再晚來那么一步,可以更名為“月總結(jié)”。 【工作】...
    穗魚荷雨閱讀 113評論 0 1
  • 今天下雨,下的很大,我是下午才知道下的很大,早上一直在辦公室坐大公益的路線安排工作,昨天量尺寸的客戶,下午過來確定...
    苗苗女神閱讀 238評論 0 0

友情鏈接更多精彩內(nèi)容