数据库事务的 ACID 四大性质

【测绘程序设计】——潮汐调和分析 最小二乘潮汐调和分析源码、使用示例及数据 阅读详情

事务的 ACID 四大性质

1. 原子性 (Atomicity)
  • ​核心思想​: ​​“要么全部完成,要么全部不做”​。一个事务中的所有操作是一个不可分割的整体。

  • ​比喻​: 就像银行转账,包含从A账户扣款和向B账户加款两个操作。原子性保证了这两个操作要么都成功执行(转账成功),要么都不执行(如果中途系统故障,不会出现A的钱扣了但B没收到的情况)。

  • ​实现机制​: 通常由数据库的事务管理子系统和日志恢复机制共同保证。如果事务失败,系统会利用回滚日志(UNDO Log)​​ 来撤销该事务中所有已经执行的操作。

2. 一致性 (Consistency)
  • ​核心思想​: ​事务的执行必须使数据库从一个一致的状态转换到另一个一致的状态。事务不能破坏数据库定义的任何业务规则或完整性约束(如主键唯一、外键关联、余额不能为负数等)。

  • ​比喻​: 继续用转账的例子,转账前后,两个账户的总金额应该保持不变。一致性确保了不会因为转账操作而产生或消失钱。

  • ​实现机制​: 一致性是由应用程序和数据库共同保证的。应用程序需要正确地编写事务逻辑(例如,检查余额是否足够),而数据库则通过原子性、隔离性和持久性来为一致性提供保障,并强制执行固有的完整性约束(如设置外键、非空等)。

3. 隔离性 (Isolation)
  • ​核心思想​: ​并发执行的多个事务之间互不干扰。即使多个事务同时运行,每个事务的感觉都像是系统在单独为自己服务。

  • ​比喻​: 多个用户同时操作数据库,就像每个用户都在独立的办公室裡工作,彼此看不到对方未提交的修改,从而避免了混乱。

  • ​常见问题(如果没有隔离性)​​: 会产生脏读、不可重复读、幻读等问题。

  • ​实现机制​: 数据库通过锁机制或多版本并发控制(MVCC)​​ 等技术来实现不同级别的隔离性。

4. 持久性 (Durability)
  • ​核心思想​: ​一旦事务提交,其修改就会永久保存到数据库中,即使随后系统发生任何故障(如断电、崩溃)也不会丢失。

  • ​比喻​: 就像你用钢笔在纸上写字,字迹已经渗透到纸纤维里,即使用橡皮擦掉表面的墨迹,字迹依然可见(持久化在了磁盘上,而非易失的内存中)。

  • ​实现机制​: 通常通过预写式日志(Write-Ahead Logging, WAL)​​ 和重做日志(REDO Log)​​ 来实现。在数据页被修改之前,先将修改操作记录到日志文件中。事务提交时,只需保证日志记录已写入持久化存储即可。即使之后数据页本身没有写回磁盘,系统重启后也能根据日志重新执行(REDO)已提交的事务,从而保证持久性。


总结与记忆技巧

性质

英文

核心保证

实现技术

​原子性​

Atomicity

全做或全不做

​UNDO Log​(回滚日志)

​一致性​

Consistency

状态转换符合规则

需要应用和DB共同维护

​隔离性​

Isolation

并发事务互不干扰

​锁、MVCC​

​持久性​

Durability

提交后永不丢失

​REDO Log​(重做日志)

多传感器标定:如何统一摄像头、雷达与IMU坐标? 多传感器标定:如何统一摄像头、雷达与IMU坐标?​ ,人工智能,计算机视觉,大模型,AI,本文详细阐述多传感器标定中统一摄像头、雷达与 IMU 坐标的方法。先介绍传感器坐标系统、坐标统一必要性及变换数学基础,再分述摄像头与雷达、IMU 与摄像头、IMU 与雷达的标定原理、步骤、参数计算及结果验证,还讲解了多传感器坐标统一的整体流程,分析了标定常见问题及解决办法,介绍了常用标定工具,结合实际案例说明应用,探讨了标定精度的影响因素、提升方法及发展趋势,为相关领域提供了全面的多传感器标定指导。​ 阅读详情

相关推荐

PSIM+PIL+CCS三剑客:手把手教你搞定DSP28335的软硬件联合调试

本文详细介绍了如何利用PSIM、PIL与CCS三款工具,实现DSP28335的软硬件联合调试。通过搭建兼容环境、从PSIM仿真生成PIL代码,再到实战联合调试与问题诊断,手把手指导开发者构建从虚拟模型到实际硬件的完整验证闭环,有效提升电力电子与电机驱动等领域的开发效率与可靠性。

weixin_29183637的博客 185

事务的四大性质:ACID

事务的四大性质:ACID 事务的四大性质:ACID

扣脚老骚 336

HSMS/SECS/GEM/GEM300半导体通讯协议介绍

HSMS/SECS/GEM/GEM300半导体通讯协议解决方案介绍 目录 SECS/GEM协议通讯 1 目录 2 1.介绍 3 1.1 产品概述 3 1.1.1 高扩展性 4 1.2 通讯实现 4 1.2.2多主机实现 4 1.3 当前的SEMI标准 5 1.3.1 功能跟友商对比 6 1.4 软件灵活性 7 1.5 无需学习SECS 7 1.6 自定义消息传递 8 1.7 记录收集 8 1.8 SECS Manual文档 8 1.9 产品清单 8 2 产品结构 9 2.1 控制面板 9 2.2 使用环境

semisecs 16万+

数据库事务

这段时间笔试得比较多了,把一些自己薄弱的概念提出来归纳强化一下吧。1. 事务的概念    数据库事务是指作为单个逻辑工作单元执行的一系列操作。    设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:  · 更新客户所购商品的库存信息   · 保存客户付款信息--可能包括与银行系统的交互   · 生成订单并且保存到数据库中   · 更新用户相关信息,例如购物数量等等

东方红Zone 421

三大主流交易接口实战指南:XTP、CTP与数字货币API的实盘接入解析

本文深入解析了量化交易系统实现实盘交易的关键环节,聚焦于三大主流交易接口的实战接入。详细介绍了证券领域的XTP、期货领域的CTP以及数字货币交易所API的核心特性、代码封装要点与风控实践,并提供了多市场接口整合的统一架构方案,为开发者打通量化交易的“最后一公里”提供了一份接地气的实战指南。

win55的博客 1374

自动驾驶仿真(二)—— 基于PreScan与Simulink的联合仿真

自动驾驶仿真软件介绍二—— PreScan与Simulink联合仿真1. Prescan仿真软件2. Prescan与Simulink联合仿真2. 1 Prescan和matlab软件安装2. 2 联合仿真配置3. 联合仿真实例3.1 一辆不按法规行驶的小车3.2 另一辆的正常行驶的小车3.3 视觉辅助摄像机3.4 传感器检测4. 系列学习视频教程5. 参考学习的书目教材 上一篇博文简单介绍了Carsim与Simulink联合仿真,接着这篇就再继续简单介绍另一款自动驾驶仿真软件Prescan,并且简单做个P

zhudj08的博客 1万+

数据库ACID说明

                                             数据库的ACID   一.事务        定义:所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。        准备工作:为了说明事务的ACID原理,我们使用银行账户及资金管理的案例进行分析。   // 创建数据库 create ta...

BIGBAI的博客 1273

电子发票二维码背后的秘密:10分钟看懂校验码、加密字符含义与防伪设计

本文深入解析电子发票二维码的结构与防伪设计,揭示校验码和加密字符的生成原理及验证方法。通过实际案例和技术细节,帮助财务人员理解电子发票的安全机制,提升防伪识别能力,确保税务合规。

weixin_29248611的博客 528

【软考】事务管理

该操作表示事务非成功地结束,它将通知事务管理器出故障了,数据库可能处于不一致状态,该事务的所有更新操作必须回滚或撤销。该操作表示事务成功地结束,它将通知事务管理器该事务的所有更新操作现在可以被提交或永久地保留。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其他事务都是不可见的。一旦事务成功提交,即使数据库崩溃,其对数据库的更新操作也将永久有效。3.在 SOL 语言中,事务定义的语句有三条:事务开始、事务提交、事务回滚。2.事务和程序是两个不同的概念,一般一个程序可包含多个事务。

王佑辉的博客 482

Claude Code、Codex、Gemini CLI、OpenCode 和 OpenClaw 配置管理太麻烦?试试这个统一管理工具

还在为 Claude Code、Codex、Gemini CLI 等 AI CLI 配置烦恼?🤯 这款桌面工具支持五大助手统一管理,一键切换 50+ 服务商,MCP 和 Skills 集中管理 🛠️,跨平台支持,让你的 AI 编程更高效 ⚡

XiaoqiangClub的博客 913

YOLOv11 改进策略之 Conv 篇:基于 C2fC 与 RepC_SPELAN4 的性能跃迁教程

某工业质检场景中,采用本文改进模块的 YOLOv11 模型,对微小零件缺陷的检测准确率提升 22%;YOLOv10 提出的 C2fC 模块与 RepC_SPELAN4 结构,是针对特征融合与卷积效率的突破性设计,掌握它们,你就能让自己的 YOLOv11 模型在精度与速度的平衡上实现“质的飞跃”。别再让“模型精度不足”成为你的瓶颈——现在就动手修改代码,让你的 YOLOv11 模型在特征提取与检测效率上实现质的飞跃,用技术实力证明你的 AI 研发能力!中的卷积层为 RepC_SPELAN4。

m0_71589036的博客 97

数据库中的事务

什么是事务? 事务是指数据库中一系列数据库语句的集合,在mysql中,通常以start transaction;作为一个事务的语法开头,commit;作为事务的结尾,一则事务要么全部执行,要么全部不执行。我们可以将事务作为数据库中一个逻辑执行单元(不可分割)来理解。类似于操作系统的中将一条指令作为不可分割的单位。事务的出现主要被用来解决数据库在并发场景下存在的数据不一致性问题。 事务的性质 ACID: Atomic:(原子性):不可分割的特性 Concurrent(一致性):状态转移的一致性 Isolat

csdn闻声即知人的博客 1862

【前端圭臬】二:你知道的和不知道的 HTML

关于 HTML,说几个你可能不太关注的问题。

Evan 的博客 4758

sql 事务

目录1.事务是什么2.事务的特性3.事务的隔离级别 1.事务是什么 简单来说事务就是一系列sql语句的集合,是单一逻辑工作单元的操作集合。 数据库的事务可以包含一个或多个数据库操作,但这些操作构成逻辑上的整体。构成逻辑整体的这些数据库操作,要么全部执行成功,要么全部不执行。构成事务的所有操作,要么全部对数据库产生影响,要么全部不产生影响,即不管事务是否执行成功,数据库总能保持一致性。 2.事务的特性 事务具有四个特性,也就是常说的ACID。 1、A(atomicity),原子性,事务不可分割,如果执行则事务

从零瞎学日记 721

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数据库重点摘要

为什么80%的码农都做不了架构师?>>> ...

weixin_34310127的博客 171

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

数据库事务的四个基本性质(ACID)?

数据库事务概念 什么是数据库事务? 事务(transaction)是由指逻辑上对数据的的一组操作, 这组操作要么一次全部成功,如果这组操作全部失败,是不可分割的一个工作单位。 数据库事务的四个基本性质(ACID) 1. 原子性(Atomicity) 事务的原子性是指事务是一个不可分割的工作单位,这组操作要么全部发生,否则全部不发生。 2. 一致性(Consistenc

一凡的专栏 1万+

数据库之事务及事务的 ACID 性质

1.什么是事务 DBMS中的事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元事务的基本概念 所谓事务是用户定义的一个数据库操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。 在关系数据库中,事务可以是一条SQL语句、一组SQL语句。 事务通常由高级数据操纵语言或编程语言(如SQL、COBOL、C、C++或Java)书写的用户程序的执行所引起,由事务开始与结束之间执行的全体操...

坚果的博客 764

事务的四大性质-ACID

事务具有四大性质,其包括可靠性,一致性,隔离性以及持久性,这四大性质一起保证了数据的可靠,一致,完整。 原子性(Atomicity) 原子性保证了事务的不可再分,一个事务中的操作或者全部成功,或者全部失败,不会出现部分成功,部分失败的情况。如果事务失败,则数据将会处于事务开始前的状态。 一致性(Consistency) 一致性保证了事务成功执行后,数据将会从一种合规的状态进入另一种合规的状态,不能...

扶摇升的IT博客 2087

事务ACID四大性质

原子性(A) 所谓的原子性就是说,在整个事务中的所有操作,要么全部完成,要么全部不做,没有中间状态。对于事务在执行中发生错误,所有的操作都会被回滚,整个事务就像从没被执行过一样。 一致性(C) 一致性是通过AID保证的,事务的执行必须保证系统的一致性,就拿转账为例,A有500元,B有300元,如果在一个事务里A成功转给B50元,那么不管并发多少,不管发生什么,只要事务执行成功了,那么最后A账户一定是450元,B账户一定是350元。 隔离性(I) 所谓的隔离性就是说,事务与事务之间不会互相影响,一.

qq_38837032的博客 781

数据库事物四大特性-ACID

事务的:原子性、一致性、分离性、持久性 事物(transaction)是由一些列操作序列构成的执行单元,这些单元要么都做,要么不做,是一个不可分割的工作单元。 数据库事物的四个基本性质(ACID) 1.原子性(Atomicity) 指的是事物中包含的所有操作要

logogcn的专栏 1万+

数据库中事务的特性

事务具有四个特征:原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )和持续性( Durability )。这四个特性简称为 ACID 特性。 1 .原子性 事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做 2 .一致性 事 务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结...

baidu_32542573的博客 5368

数据库事务的四个基本性质?

本文转载:http://www.sqlstudy.com/sql_article.php?id=2008080302  数据库事务概念 什么是数据库事务? 事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的

lolashe 1万+

数据库事务四大特性(ACID),四种隔离级别

事务四大特性和隔离级别有太多东西要学了......分开记录比较好...... 一.数据库事务的四大特性 1.原子性(Atomicity)(数据库的操作):原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。 这个刚好最近有类似的业务用到了这个性质。(这个性质其实是很常见的) 业务:一个用户可以拥有一个自定义的属性,可以自定义多条,但是这个自定义数据的量不是特别大,用户可以自行增加或者删除自定义属性的条数,也可以修改里面的内容。 如果是想在不删除用户原有数据下,判断增加删除修改操作还是比较麻

拾信 727

数据库事务的四个性质(ACID)

事务是恢复和并发控制的基本单位。 事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。   原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。   一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。   隔离性(isolation)。一

fuqiaoyimeng的专栏 1541

数据库事物的四大特性(ACID)以及隔离级别

事物的性质 事务的特性通常被概括为“ACID”原则即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。 原子性(Atomicity): 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 一致性(Co...

智者之家 2028

事务的acid属性是指_Mysql事务的性质 为什么要用事务?

在 MySQL 中只有使用了 Innodb 存储引擎的表才支持事务。严格上来说,事务必须同时满足四个特性,即通常所说的ACID属性Ø 原子性(atomicity):一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。Ø 一致性(consiste...

weixin_39579127的博客 161

数据库事务的四个基本性质(ACID)

原文地址:http://www.sqlstudy.com/sql_article.php?id=2008080302  数据库事务概念 什么是数据库事务? 事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。 数据库事务的四个基本性质(ACID) 1. 原子性(Atomicity) 事务的原子

Micro_Ryan的专栏 1025
上一篇: 软考中级数据库系统工程师学习专篇(67、数据库恢复)
下一篇: 数据库常见故障类型
longze_7
博客等级 码龄5年 360粉丝 191原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值