ACID与CAP定理

简介:

ACID:RMDB的4个基本要素

        ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。    

原子性

        整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

一致性

      在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。

隔离性

        隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。

持久性

        在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚

由于一项操作通常会包含许多子操作,而这些子操作可能会因为硬件的损坏或其他因素产生问题,要正确实现ACID并不容易。ACID建议数据库将所有需要更新 以及修改的资料一次操作完毕,但实际上并不可行。

目前主要有两种方式实现ACID:第一种是Write ahead logging,也就是日志式的方式。第二种是Shadow paging。


CAP定理

        CAP定理指在设计分布式系统时,一致性(Consistent)、可用性(Availability)、Partition Tolerance(分区容忍性)三个属性不可能同时满足,该定理也叫做布鲁尔定理。CAP定理明确了分布式系统所能实现系统的局限性,目前互联网中的很多分布式系统是基于首要满足可用性和分区容忍性而设计的

        在一系列的研究结果里发现,在较大型的分布式系统中,由于网络分隔,一致性与可用性不能同时满足,这意味着这三个要素只能同时实现两个,不可能三者兼顾;放宽一致性的要求会提升系统的可用性,提升一致性意味着系统需要牺牲一定的可用性。

目录
相关文章
|
NoSQL Oracle 关系型数据库
分布式事务Seata【二】CAP定理和Base定理
CAP原则又叫CAP定理,同时又被称作布鲁尔定理(Brewer's theorem)
282 0
分布式事务Seata【二】CAP定理和Base定理
|
算法
【分布式篇】什么是CAP定理?
【分布式篇】什么是CAP定理?
92 0
|
Java 关系型数据库 大数据
简述 CAP 定理【重要】
简述 CAP 定理【重要】
84 0
|
缓存 算法 搜索推荐
分布式事务之CAP定理
分布式事务之CAP定理
111 0
|
算法 安全
分布式系统的CAP定理
分布式系统的CAP定理
152 0
分布式系统的CAP定理
|
分布式计算
CAP定理(CAP theorem)
CAP定理(CAP theorem)
197 0
CAP定理(CAP theorem)
|
存储 算法 关系型数据库
分布式学习二:CAP定理
分布式学习二:CAP定理
161 0
|
存储 缓存 NoSQL