13、数据库一致性模型详解

数据库一致性模型详解

1. 一致性概述

在数据库领域,一致性是确保数据准确和可靠的关键概念,主要包括以下两种类型:
- 单请求内的一致性 :指单个请求返回的数据在内部是连贯的。例如,读取关系表中的所有行时,通常能看到表在某一时刻的状态,查询开始后对表的修改不会包含在内。
- 与现实的一致性 :即数据要与数据库试图反映的现实情况相符。以银行交易为例,交易结束时仅保证一致性是不够的,还必须正确反映实际账户余额,牺牲准确性的一致性通常是不可接受的。

2. ACID 和 MVCC

关系型数据库主要采用两种架构模式来满足一致性要求:ACID 事务和多版本并发控制(MVCC)。

2.1 ACID 事务

ACID 事务具有以下四个特性:
- 原子性 :事务是不可分割的,事务中的所有语句要么全部应用到数据库,要么都不应用。
- 一致性 :事务执行前后,数据库保持一致状态。
- 隔离性 :多个用户可以同时执行多个事务,但一个事务不应看到其他正在进行的事务的影响。
- 持久性 :一旦事务保存到数据库(在 SQL 数据库中通过 COMMIT 命令),即使操作系统或硬件出现故障,其更改也会持久保存。

需要注意的是,即使像 Oracle 这样的关系型数据库,默认情况下也不会实现 ACID 所要求的事务之间的严格隔离,因为完全隔离所有事务的开销通常太高。 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值