1. 程式人生 > >ACID 和 CAP 一致性的區別

ACID 和 CAP 一致性的區別

  • ACID 代表資料庫的四個基本要素,分別是

    • 原子性 Atomicity
    • 一致性 Consistency
    • 隔離性 Isolation
    • 永續性 Durability

  • CAP 則是分散式系統的三要素 ,分別是

    • 一致性 Consistency
    • 可用性 Availability
    • 區分容錯性 Partition tolerance

  • 資料庫 ACID 的一致性,我們又稱之為內部一致性,可以理解為

    • 事務開始前和結束後,資料庫的完整性約束沒有被破壞 。比如 A
      B 轉賬,不可能 A 扣了錢,B 卻沒收到。
  • 分散式 CAP 的一致性,我們也稱之為外部一致性,可以理解為

    • 在分散式系統中,寫操作後再讀,就必須返回寫入的值。比如分散式資料庫A、B、CA 中寫入資料 hello,寫完馬上讀 BC,就一定要讀出 hello,讀出來我們就稱之為符合一致性
  • 兩者區別,內部一致性注重於事務前後資料的完整性,而外部一致性則注重於讀寫資料的一致性