大數據MongoDB之NoSQL的CAP定理和BASE原則是什麼?

文章目錄

  1.CAP定理是什麼?
  2.BASE原則
  3.BASE vs ACID數據庫


1. CAP定理是什麼?

在計算機科學中, CAP定理(CAP theorem), 又被稱做布魯爾定理(Brewer's theorem), 它指出對於一個分佈式計算系統來講,不可能同時知足如下三點:分佈式

  • 一致性(Consistency) (全部節點在同一時間具備相同的數據)
  • 可用性(Availability) (保證每一個請求無論成功或者失敗都有響應)
  • 分隔容錯(Partition tolerance) (系統中任意信息的丟失或失敗不會影響系統的繼續運做)

CAP理論的核心是:一個分佈式系統不可能同時很好的知足一致性,可用性和分區容錯性這三個需求,最多隻能同時較好的知足兩個。 性能

在這裏插入圖片描述
所以,根據 CAP 原理將 NoSQL 數據庫分紅了知足 CA 原則、知足 CP 原則和知足 AP 原則三 大類:

  • CA - 單點集羣,知足一致性,可用性的系統,一般在可擴展性上不太強大。
  • CP - 知足一致性,分隔容錯的系統,一般性能不是特別高。
  • AP - 知足可用性,分隔容錯的系統,一般可能對一致性要求低一些。

2. BASE原則

BASE BASE:Basically Available, Soft-state, Eventually Consistent。 由 Eric Brewer 定義。cdn

CAP理論的核心是:一個分佈式系統不可能同時很好的知足一致性,可用性和分區容錯性這三個需求,最多隻能同時較好的知足兩個。blog


BASE是NoSQL數據庫一般對可用性及一致性的弱要求原則:圖片

Basically Availble --基本可用 Soft-state --軟狀態/柔性事務。 "Soft state" 能夠理解爲"無鏈接"的, 而 "Hard state" 是"面向鏈接"的 Eventual Consistency --最終一致性 最終一致性, 也是是 ACID 的最終目的。事務


3. BASE vs ACID

BASE ACID
基本可用(Basically Available) 原子性(Atomicity)
軟狀態/柔性事務(Soft state) 一致性(Consistency)
最終一致性 (Eventual consistency) 隔離性(Isolation)
- 持久性 (Durable)
相關文章
相關標籤/搜索