`
qqj_1979
  • 浏览: 4733 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

数据库ACID 理论

 
阅读更多

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

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

具体举例:

   设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:  
  · 更新客户所购商品的库存信息   
  · 保存客户付款信息--可能包括与银行系统的交互   
  · 生成订单并且保存到数据库中   
  · 更新用户相关信息,例如购物数量等等   

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

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

 

四大特性

      · 原子性
  事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。  

  · 一致性  

   事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。某些维护一致性的责任由应用程序开发人员承担,他们必须确保应用程序已强制所有已知的完整性约束。例如,当开发用于转帐的应用程序时,应避免在转帐过程中任意移动小数点。  

  · 隔离性  

  由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化时将获得最高的隔离级别。在此级别上,从一组可并行执行的事务获得的结果与通过连续运行每个事务所获得的结果相同。由于高度隔离会限制可并行执行的事务数,所以一些应用程序降低隔离级别以换取更大的吞吐量。   

  · 持久性  

   事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。   

实现

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

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

分享到:
评论

相关推荐

    数据库理论与实践

    《数据库理论与实践》这一课程主要涵盖了数据库领域的基础理论与实际操作技巧,旨在帮助学习者深入理解数据库系统的工作原理,并能有效地使用SQL语言进行数据管理。以下是对各个章节内容的详细解析: **Chapter 2:...

    数据库原理课件第章数据库基本理论.pptx

    2. 关系型数据库系统(RDBS):以关系模型为基础,用表格(Table)表示数据,关系代数作为理论基础,易于理解和使用,支持ACID(原子性、一致性、隔离性和持久性)特性,广泛应用于各类业务系统。 数据库管理系统的...

    关系数据库理论课件及试题

    ACID(原子性、一致性、隔离性和持久性)特性是事务处理的基石,确保了即使在系统故障或并发操作下,数据库也能保持完整无损。 在提供的课件中,新手将学习到这些理论,并通过配套的试题进行实践,加深理解。这不仅...

    数据库理论作业1

    事务是数据库操作的逻辑单元,必须遵循ACID(原子性、一致性、隔离性和持久性)属性以确保数据的一致性。并发控制处理多用户同时访问数据库的情况,避免数据冲突,如死锁(Deadlock)。 通过完成“数据库理论作业1...

    第2章+关系数据库理论基础.ppt

    关系数据库理论基础是数据库设计与管理的核心概念,它主要涵盖了数据模型、关系模型、SQL语言、数据完整性、并发控制和事务处理等多个方面。本章将深入探讨这些关键知识点。 首先,我们来理解数据模型。数据模型是...

    SQL与关系数据库理论 如何编写健壮的SQL代码

    标题:“SQL与关系数据库理论 如何编写健壮的SQL代码”描述:“SQL与关系数据库理论 如何编写健壮的SQL代码_PDF电子书下载 带书签目录 完整版.pdf”标签:“Sql 关系数据库” 从标题和描述中我们可以看出,这本书籍...

    据库\数据库理论与技术第7-10章.rar

    随着信息技术的快速发展,数据库理论与技术不断进步,关系数据库、查询优化、事务处理和并发控制等领域已经成为了数据库领域研究和应用的焦点。本文将围绕这四个关键主题展开讨论,深入剖析它们在数据库系统设计与...

    关系数据库理论 课件

    事务是数据库操作的基本单位,保证了数据的一致性和可靠性,ACID(原子性、一致性、隔离性、持久性)属性是事务处理的重要原则。 最后,关系数据库的安全性和并发控制也是重要的知识点。权限管理和角色设置可以保护...

    数据库基础知识面试问答指南 - ACID特性和性能优化技巧

    内容概要:本文是一份数据库相关技术点的问答资料,涵盖了如数据库ACID特性定义、数据库索引概念及其优劣分析、SQL的各种JOIN操作解析以及数据库性能优化策略等内容。通过对这些问题的回答,帮助读者全面掌握数据库...

    数据库理论习题.zip

    数据库理论是计算机科学中的一个重要分支,它涉及到数据的组织、存储、检索以及管理。这个"数据库理论习题.zip"文件很可能包含了一系列与数据库理论相关的练习题,旨在帮助学习者深入理解这一领域的核心概念和原理。...

    数据库理论与应用 oracle

    本资源聚焦于数据库理论与应用,特别关注Oracle数据库系统。Oracle是全球广泛使用的商业级关系型数据库管理系统,以其高效、安全和可扩展性而著称。 在数据库理论方面,我们首先要理解的是关系数据库模型,这是...

    数据库学习课件-数据库

    事务处理则关乎数据库操作的原子性、一致性、隔离性和持久性(ACID属性),这对于保持数据的一致性和完整性至关重要。 6. **数据库性能优化**:这包括索引的使用、查询优化、存储过程、分区和分片等技术,以提高...

    数据库参考数据库试题大全

    这些试题大全涵盖了从2011年至2014年的不同年份、不同版本的数据库考试题目,以及复习材料和参考答案,旨在帮助学习者全面理解和掌握数据库的基础理论与实践应用。 1. **数据库基础概念**:在这些试题中,你将遇到...

    数据库系统基础教程_数据库基础_数据库系统_数据库pdf_

    1. 关系模型:关系数据库基于关系理论,其中数据以表格形式(关系)存储,每个表格由一系列列(属性)和行(记录)组成。 2. SQL:结构化查询语言是用于操作关系数据库的标准语言,包括数据查询、更新、插入和删除...

    数据库资料数据库的资料

    6. 数据库范式理论:范式是衡量数据库设计规范化程度的标准,如第一范式(1NF)、第二范式(2NF)、第三范式(3NF),以及更高的BCNF(Boyce-Codd范式)和第四范式(4NF)。遵循这些范式可以减少数据冗余,提高数据...

    数据库面试常用问题整理(八股)

    本文将对数据库面试常用问题进行整理和总结,涵盖事务、并发一致性问题、封锁、关系数据库设计理论、ER 图、索引等多个方面。 1. 事务 事务是一组操作的集合,满足 ACID 特性,即原子性(Atomicity)、一致性...

    数据库理论

    数据库理论是信息技术领域中的核心部分,它涉及到数据的组织、存储、检索以及管理。数据库不仅在企业级应用中发挥着至关重要的作用,也在个人设备、互联网服务和物联网系统中广泛应用。学习数据库理论能够帮助我们更...

    软考数据库系统工程师真题

    上午试题通常侧重于理论知识的考核,如数据库管理系统的基本概念、数据模型(包括关系模型、层次模型、网络模型)、SQL语言、数据库设计(ER模型转换、范式理论)、事务处理与并发控制、数据库安全性与完整性约束、...

    慕课战德臣数据库系统讲义PPT.zip

    在PPT中,可能会涵盖关系数据库模型,这是最常见的数据库类型,基于关系理论,以表格形式存储数据,每个表格称为关系。 【关系数据库模型】 关系数据库模型的核心是关系,它由一个或多个表组成,每个表由列(字段...

    ustc-2023-金培权-高级数据库作业答案.zip

    事务是数据库中执行的一系列操作单元,具有原子性、一致性、隔离性和持久性的ACID特性。并发控制则保证多用户环境下事务的正确执行,常见的并发控制技术有锁定、两阶段提交、乐观并发控制等。 五、数据库恢复技术 ...

Global site tag (gtag.js) - Google Analytics