CAP理论与关系型数据库事务

一、关系型数据库的ACID

1、什么是事务

事务时作为单个逻辑单元执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行,要么都不执行。事务时一个不可分割的工作逻辑单元。

2、事务的四大特性ACID

原子性(Atomicity)

事务是一个完整的操作。事务的各步骤是不可分割的(原子的);要么都执行,要么都不执行。

一致性(Consistency)

当事务完成时,数据必须从一个一致性状态到另一个一致性状态

隔离性(Isolation)

对数据进行修改的所有并发事务都是彼此隔离的

持久性(Durability)

事务完成后,它对数据库的修改被永久保存。事务日志能够保存事务的永久性

3、事务引发问题

脏读

一个事务读到另一个事务未提交的数据。

不可重复读

一个事务多次读取同一个记录,结果不一致。产生原因是数据更新。

幻读

事务a更新数据但未提交,事务b添加(add)一行新数据,致事务a再次读取时为事务b添加后的记录

4、事务的四种隔离级别

Read uncommitted

即读未提交,一个事务读取到其他事务未提交的数据,是级别最低的隔离机制。会产生脏读、不可重复读、幻读。

Read committed

即读已提交,一个事务读取到另一个事务提交后的数据。Oracle默认隔离级别。会产生不可重复读、幻读。

Repeatable read

即可重复读,一个事务对同一份数据多次读取结果一致。MySQL默认的隔离级别。会产生幻读。

Serializable 序列化

事务串行化执行,隔离级别最高,牺牲了系统的并发性。可以解决并发事务的所有问题。但是效率地下,消耗数据库性能,一般不使用

二、CAP理论

1、什么是CAP

CAP理论,指在一个分布式系统中 Consistency(强一致性)、Availability(高可用性)、Partition tolerance(分区容错性),三者不可兼得。
1)C:Consistency(强一致性)
2)A:Availability(高可用性)
3)P: Partition tolerance(分区容错性)

2、、CAP的3进2

CAP理论在分布式存储系统中,最多只能实现两点,而由于当前网络硬件肯定会出现延迟丢包等所以 分区容错性是我们必须实现的,所以我们只能在一致性和可用性之间进行权衡。
没有NoSql系统能同时保证这三点
C:强一致性
A:高可用性
P:分区容错性

3、CAP具体实现

CA:传统Oracle数据库
AP:大多数网站架构的选择
CP:Redis、MongDB

4、BASE是什么

BASE为了解决关系数据库强一致性引起的问题而引起的可用性降低而提出的解决方案,即
基本可用:(Basically Available)
软状态:(Soft state)
最终一致(Eventually consistent)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值