数据ACID简介

 ACID

ACID,是指在数据库管理系统(DBMS)中,事务(transaction)所具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

  具体举例:

设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:

  • 更新客户所购商品的库存信息
  • 保存客户付款信息--可能包括与银行系统的交互
  • 生成订单并且保存到数据库中
  • 更新用户相关信息,例如购物数量等等

正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态--库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。

数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。

然后我们再回到实际应用中,看它是怎么工作的

在数据库系统中,一个事务是指:由一系列数据库操作组成的一个完整的逻辑过程。例如银行转帐,从原账户扣除金额,以及向目标账户添加金额,这两个数据库操作的总和,构成一个完整的逻辑过程,不可拆分。这个过程被称为一个事务,具有ACID特性

  • 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
  • !一致性:在事务开始之前和事务结束以后,数据库的完整性限制没有被破坏。
  • 隔离性:当两个或者多个事务并发访问(此处访问指查询和修改的操作)数据库的同一数据时所表现出的相互关系。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。
  • 持久性:在事务完成以后,该事务对数据库所作的更改便持久地保存在数据库之中,并且是完全的。
时间: 2024-08-07 08:35:56

数据ACID简介的相关文章

京东云,不止于云计算——京东云华东数据中心简介

京东云京东云,不止于云计算 京东云华东数据中心简介 绿色环保 / 稳定可靠 / 部署简单 / 为企业量身打造云解决方案 采用新型节能加湿系统,降耗 > 70%: 全LED + 光导管照明系统,阳光入室,绿色健康: 非晶合金变压器,运行节能 > 50%: 京东云华东数据中心简介: 创新"线性自然冷却技术",提高回收利用率: 年均PUE < 1.4,全面满足环保要求: 灵活开放,安全无忧,提供定制化服务 一体化架构.模块化设计,应对复杂多变的业务需求: 可与京东云北京及广

MySql中启用InnoDB数据引擎简介 以及 InnoDB与 MYISAM的区别和联系

1.存储引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能.这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型).MySql默认配置了许多不同的存储引擎,可以预先设置或者在MySql服务器中启用. 2.MYSQL支持的数据引擎 MyISAM:默认的MySQL插件式存储引擎,它是

数据可视化简介

数据可视化参考流程 科学可视化的早期可视化流水线,描述了从数据空间到可视空间的映射,包含串行处理数据的各个阶段: 原始数据->数据分析->预处理数据->过滤->关注数据->映射->几何数据->绘制->图像数据 而后Card,Mackinlay,Shneiderman等人提出了信息可视化参考流程,后继几乎所有著名的信息科石化系统和工具都支持这个模型. 数据可视化设计的层次嵌套模型 第一层(问题刻画层):概括现实生活中用户遇到的问题: 第二层(抽象层):抽象相应

数据分析师简介

1.概述 数据分析师是数据师Datician['det???n]的一种,指的是不同行业中,专门从事行业数据搜集.整理.分析,并依据数据做出行业研究.评估和预测的专业人员. 有人经过调研,数据分析师职位普遍集中在北上广深城市,待遇也比相同层次的人员高出20-30个百分点,由此可见,数据分析师已经越来越被企业重要. 一个企业对数据的重视有多高,它就有多需要数据分析师,而一个合格的数据分析师则需要付出更多的努力.具备各种专业知识才能够胜任这份工作,从理论上来说,数据分析师需要具备如下条件: l  懂业

ITGo虚拟化运维管理平台大数据版简介

ITGo虚拟化运维管理平台是北京万合鸿瑞科技有限公司研发的一款基于VMware vCenter虚拟化软件的运维监控管理产品,采用大数据分析和智能化运维(AIOps)等技术,对虚拟化的各种运维数据进行有效的监控.管理和分析,保证云计算/虚拟化技术的数据中心的高效稳定运行,优化系统资源使用,节省IT设备投资.产品在运维过程的作用如下: 事前规划:通过各种合规性和运维最佳实践的检查发现云计算/虚拟化环境存在的各种隐患,及时处理做到防范于未然. 事中控制:直观呈现数据中心的运维热点信息,快速定位和解决出

GPS数据解析

1.摘要 GPS模块使用串口通信,那么它的的数据处理本质上还是串口通信处理,只是GPS模块的输出的有其特定的格式,需要字符串处理逻辑来解析其含义.如何高效的处理从GPS模块接收到的数据帧,是GPS驱动设计的重点,本文使用状态机的思想来处理GPS输出的串口数据流,相对于定时从串口环形bufer取数据包然后依次解析有更高的实时性并且单片机负荷更低. 2. GPS数据协议简介 常用的GPS模块大多采用NMEA-0183 协议,目前业已成了GPS导航设备统一的RTCM(Radio Technical C

项目感悟 基于8051的数据采集系统-总纲

博文的内容是感想,是我在做一个小作品的时候记录下来的感想.现在将其整理好,分享出来. 我写博文的纲领是隐恶扬善,所以一些不好的事情,闭口不说.但别人对我的好,要尽力写出来. 虽然我不是大牛,感想有时显得有些幼稚,但是我依然希望你能通过我的感想得到一些启发,少走一些弯路. 博文的宗旨是:隐恶扬善. 作品名称:基于8051的数据采集系统 简介:下位机用 8051新手开发板,传感器采集需要的数据,通过USB通信接口发送给上位机,上位机的系统是win 7,用C#的Winform写的串口调试程序接收数据.

聚合数据简易开发流程

聚合数据SDK简介 聚合数据SDK是一套基于Android/iOS开发的程序接口,目前已有Android.iOS版本.开发者可以使用该套SDK开发适用于Android/iOS系统移动设备的应用,通过调用SDK接口,可以轻松的访问聚合的所有数据和服务,构建功能丰富.交互性强的应用程序该SDK集成了平台上的大部分数据服务(除电商SDK.比价SDK.定位SDK外),开发者只需使用聚合SDK即可调用已经申请的数据,无需再针对不同数据编写程序,更方便用户快速开发. Android SDK V2.0 简易开

【数据源】24万数据集:社会发展类公开数据清单

[数据源]24万数据集:社会发展类公开数据清单 2016-01-06 周炜乐 数盟 数盟是一个开放的数据科学交流社区,致力于成为发现与培养“数据科学家”的基地,欢迎关注数盟或推荐数盟给身边的小伙伴- 公开数据能帮助记者找到好故事.验证信息.来自34个国家的24万数据如何一搜可得?有哪些关于社会发展议题的权威门户可以将数据一网打尽?遇到海量数据,想批量转换格式怎么办?深度君再次奉上公开数据门户清单,另外推荐转换文件格式神器,方便各位各取所需. 1.欧盟数据门户(European Data Port