Consistency(一致性), 數據一致更新,全部數據變更都是同步的。好比網購,庫存減小的同時資金增多。
Availability(可用性), 好的響應性能。好比支付操做10ms內響應用戶。
Partition tolerance(分區容錯性) 可靠性。好比電商網站商品庫存庫掛了並不影響用戶資金帳戶庫。數據庫
CAP定理:任何分佈式系統只可同時知足以上二點,無法三者兼顧。
忠告:架構師不要將精力浪費在如何設計能知足三者的完美分佈式系統,而是應該進行取捨。架構
Atomicity原子性:一個事務中全部操做都必須所有完成,要麼所有不完成。
Consistency一致性. 在事務開始或結束時,數據庫應該在一致狀態。
Isolation隔離層. 事務將假定只有它本身在操做數據庫,彼此不知曉。
Durability. 一旦事務完成,就不能返回。異步
Basically Available基本可用。支持分區失敗(e.g. sharding碎片劃分數據庫)分佈式
Soft state軟狀態 狀態能夠有一段時間不一樣步,異步。
Eventually consistent最終一致,最終數據是一致的就能夠了,而不是時時高一致。性能
1.按功能劃分數據庫
2.sharding碎片 網站
主要強調基本的可用性,若是你須要High 可用性,也就是純粹的高性能,那麼就要以一致性或容錯性爲犧牲,BASE思想的方案在性能上仍是有潛力可挖的。設計
參考文獻事務
http://www.jdon.com/37625ci