CGFT是科技分析師,在工作中不可可少的運用到大數(shù)據(jù)說起BASE(Basically Availble,Soft-state,Eventual consistency),不得不談到ACID,一個數(shù)據(jù)庫事務具有ACID四性。
·A(Atomicity):原子性。它是指事務必須是原子工作單元,對于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全部不執(zhí)行
·C(Consistency):一致性。它是指事務在完成時,必須使所有的數(shù)據(jù)都保持一致狀態(tài)。
·I(Isolation):隔離性。它是指由并發(fā)事務所做的修改必須與任何其他并發(fā)事務所做的修改隔離。
·D(Durability):持久性。它是指事務完成之后,它對于系統(tǒng)的影響是*性的,該修改即使出現(xiàn)致命的系統(tǒng)故障也將一直保持。
關系數(shù)據(jù)庫系統(tǒng)中設計了復雜的事務管理機制來*事務在執(zhí)行過程中嚴格滿足ACID四性要求。
關系數(shù)據(jù)庫的事務機制較好地滿足了銀行等領域對數(shù)據(jù)一致性的要求,因此,得到了廣泛的商業(yè)應用。
但是,NoSQL數(shù)據(jù)庫通常應用于Web2.0網(wǎng)站等場景中,對數(shù)據(jù)一致性的要求并不是很高,而是強調系統(tǒng)的高可用性,因此,為了獲得系統(tǒng)的高可用性,可以考慮適當輛牲一致性或分區(qū)容忍性。
BASE的基本思想就是在這個基礎上發(fā)展起來的,它完全不同于ACID模型,BASE犧牲了高一致性,從而獲得可用性或可靠性,Cassandra系統(tǒng)就是一個很好的實例。
有意思的是,單從名字上就可以看出二者有點“水火不容”,BASE的英文意義是堿,而ACID的英文含義是酸。BASE的基本含義是基本可用(Basically Availble)、軟狀態(tài)(Soft-state)和zui終一致性(Eventual consistency )