ACID & CAP

  • ACID: 資料庫管理系統(DBMS)在寫入/異動資料的過程中,為保證交易(transaction)是正確可靠的,所必須具備的四個特性:原子性(atomicity,或稱不可分割性)、一致性(consistency)、隔離性(isolation,又稱獨立性)、持久性(durability)。 ….. source: Wiki – ACID
    • Atomicity(原子性)
      一個交易(transaction)中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間某個環節。事務在執行過程中發生錯誤,會被回滾(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。
    • Consistency(一致性) 在事務開始之前和事務結束以後,資料庫的完整性沒有被破壞。這表示寫入的資料必須完全符合所有的預設規則,這包含資料的精確度、串聯性以及後續資料庫可以自 發性地完成預定的工作。
    • Isolation(隔離性)
      當兩個或者多個事務並發訪問(此處訪問指查詢和修改的操作)資料庫的同一數據時所表現出的相互關係。事務隔離分為不同級別,包括讀未提交(Read uncommitted)、讀提交(read committed)、可重複讀(repeatable read)和串列化(Serializable)。
    • Durability(持久性) 在事務完成以後,該事務對資料庫所作的更改便持久地保存在資料庫之中,並且是完全的。

  • CAP: 又被稱作布魯爾定理(Brewer’s theorem),它指出對於一個分布式計算系統來說,不可能同時滿足以下三點:一致性(Consistency)、可用性(Availability)、容忍網路分區(Partition tolerance);根據定理,分佈式系統只能滿足三項中的兩項而不可能滿足全部三項。 ….. source: Wiki – CAP定裡
    • Consistency(一致性): 等同於所有節點訪問同一份最新的數據副本
    • Availability(可用性): 對數據更新具備高可用性
    • Partition tolerance(容忍網路分區): 以實際效果而言,分區相當於對通信的時限要求。系統如果不能在時限內達成數據一致性,就意味著發生了分區的情況,必須就當前操作在C和A之間做出選擇。
This entry was posted in 名詞解釋. Bookmark the permalink.