传统数据库中的特性为:
4个,ACID:A (Atomicity) 原子性
C (Consistency) 一致性
I (Isolation) 独立性
D (druability) 持久性
NOSQL的CAP特性:
C (Consistency) 强一致性:事物提交时数据不能发生变化
A (Availability) 可用性
P (Partition) 分区容错性
CAP理论就是说:很难同时满足CAP三条特性,正常只能较好的满足其中的两条。
在Oracle数据库中:满足CA两条特性。
在网站架构中:会选择满足AP两条,因为强一致的需求并不是一定需要的,比如说一个商品有100个人浏览和105个浏览,这对于用户来说不是非常重要。
在分布式存储系统中:由于当前网络问题,肯定会出现延迟丢包等问题,所以P分区容错性是必须满足的,对于存储系统,强一致性也是必须要满足的,所以最终的选择是AP。
BASE原理:
BA (Basically Availability) 基本可用
S (Soft state) 软状态
E (Eventually consistent) 最终一致性
这个原理就是指某些时刻,我们可以去放松一些数据的一致性去换取系统的性能上的加强。