RDBMS關(guān)系型數(shù)據(jù)庫遵循ACID規(guī)則
A(Atomicity)原子性
事務(wù)里的所有操作要么全部完成晚胡,要么都不做灵奖,事務(wù)成功的條件是事務(wù)里的所有操作都成功,只要有一個(gè)操作失敗搬泥,整個(gè)事務(wù)就失敗桑寨,需要回滾。C (Consistency)一致性
即數(shù)據(jù)庫要一直處于一致的狀態(tài)忿檩,事務(wù)的運(yùn)行不會改變數(shù)據(jù)庫原本的一致性約束尉尾。
例如:現(xiàn)有完整性約束a+b=10,如果一個(gè)事務(wù)改變了a燥透,那么必須得改變b沙咏,使得事務(wù)結(jié)束后依然滿足a+b=10辨图,否則事務(wù)失敗。I (Isolation)獨(dú)立性
指并發(fā)的事務(wù)之間不會互相影響肢藐,如果一個(gè)事務(wù)要訪問的數(shù)據(jù)正在被另外一個(gè)事務(wù)修改故河,只要一個(gè)事務(wù)未提交,它所訪問的數(shù)據(jù)就不受未提交事務(wù)的影響D (Durability)持久性
指一旦事務(wù)提交后吆豹,它所做的修改將會永久的保存在數(shù)據(jù)庫上鱼的,即使出現(xiàn)宕機(jī)也不會丟失。
NoSQL
是對不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)的統(tǒng)稱,NoSQL用于超大規(guī)模數(shù)據(jù)的存儲
CAP定理
CAP定理痘煤,又被稱作布魯爾定理凑阶。它指出對于一個(gè)分布式計(jì)算系統(tǒng)來說,不可能同時(shí)滿足以下三點(diǎn):
一致性(Consistency) :所有節(jié)點(diǎn)在同一時(shí)間具有相同的數(shù)據(jù)
可用性(Availability):保證每個(gè)請求不管成功或者失敗都有相應(yīng)
分隔容忍(Partition tolerance):系統(tǒng)中任意信息的丟失或失敗不會影響系統(tǒng)的繼續(xù)運(yùn)作
CAP理論的核心:一個(gè)分布式系統(tǒng)不可能同時(shí)很好地滿足一致性衷快,可用性和分區(qū)容錯(cuò)性這三個(gè)需求宙橱,最多只能同時(shí)較好地滿足兩個(gè)。
因此蘸拔,根據(jù) CAP 原理將 NoSQL 數(shù)據(jù)庫分成了滿足 CA 原則师郑、滿足 CP 原則和滿足 AP 原則三 大類:
- CA - 單點(diǎn)集群,滿足一致性调窍,可用性的系統(tǒng)宝冕,通常在可擴(kuò)展性上不太強(qiáng)大。
- CP - 滿足一致性邓萨,分區(qū)容忍性的系統(tǒng)猬仁,通常性能不是特別高。
- AP - 滿足可用性先誉,分區(qū)容忍性的系統(tǒng),通车乃福可能對一致性要求低一些褐耳。
CAP.png
BASE
BASE是NoSQL數(shù)據(jù)庫通常對可用性及一致性的弱要求原則:
- Basically Availble:基本可用
- Soft-state: 軟狀態(tài)、柔性事務(wù)渴庆×迓“Soft state”可以理解為“無連接”的,而“Hard state”是“面向連接”的
- Eventual Consistency: 最終一致性襟雷,也是ACID的最終目的
NoSQL 數(shù)據(jù)庫分類
NoSQL.png