正如CAP理論所指出的,一致性、可用性和分區容錯性不能同時滿足。對於數據不斷增長的系統(如社會計算、網絡服務的系統),它們對可用性及分區容錯性的要求高於強一致性,並且很難滿足事務所要求的ACID特性,因此BASE理論被提出。
BASE方法通過犧牲一致性和孤立性來提高可用性和系統性能,其中BASE分別代表:
基本可用(Basically Available):系統能夠基本運行、一直提供服務。
軟狀態(Soft-state):系統不要求一直保持強一致狀態。
最終一致性(Eventual consistency):系統需要在某一時刻後達到一致性要求。
事務是用戶定義的一個數據庫操作序列,這些操作要麼全不做,要麼全做,是一個不可分割的工作單位,ACID是事務所具有的特性。
原子性(Atomicity):事務中的操作要麼都做,要麼都不做。
一致性(Consistency):系統必須始終處在強一致狀態下。
隔離性(Isolation):一個事務的執行不能被其他事務所幹擾。
持續性(Durability):一個已提交的事務對數據庫中數據的改變是永久性的。
保證ACID特性是傳統關係數據庫中事務管理的重要任務,也是恢復和併發控制的基本單位。
對於ACID和BASE的一些比較如下所示:
ACID | BASE |
強一致性 | 弱一致性 |
隔離性 | 可用性優先 |
採用悲觀、保守方法 | 採用樂觀方法 |
難以變化 | 適應變化、更簡單、更快 |