`
huangjun_mail
  • 浏览: 121340 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据库事务必须具备的特性:ACID[转]

阅读更多

from:http://zh.wikipedia.org/wiki/ACID

 

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

在数据库系统中,一个事务是指由一系列数据库操作组成的一个完整的逻辑过程。例如银行转帐,从原账户扣除金额,以及向目标账户添加金额,这两个数据库操作的总和构成一个完整的逻辑过程,不可拆分。这个过程被称为一个事务,具有ACID特性。ACID的概念在ISO/IEC 10026-1:1992文件的第四段內有所說明。

<script type="text/javascript"> //<![CDATA[ if (window.showTocToggle) { var tocshowtext="显示" ; var tochidetext="隐藏" ; showTocToggle(); } //]]> </script>

四大特性

  • 原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回復(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
  • 一致性:在事务开始之前和事务结束以后,数据库的完整性限制没有被破坏。
  • 隔离性:两个事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。
  • 持久性:在事务完成以后,该事务对数据库所作的更改便持久地保存在数据库之中,并不会被回復。

實现

由於一項操作通常會包含許多子操作,而這些子操作可能會因為硬體的損壞或其他因素產生問題,要正確實现ACID並不容易。ACID建議資料庫將所有需要更新以及修改的資料一次操作完畢,但實際上並不可行。

目前主要有兩種方式實现ACID:第一種是Write ahead logging,也就是日誌式的方式。第二種是Shadow paging。

分享到:
评论

相关推荐

    Python数据库事务管理:深入指南与代码实践

    Python数据库事务管理是一个涉及多种技术和操作细节的领域,它要求开发者具备ACID特性的理解,以及熟练掌握各种数据库操作库的使用。合理地应用事务提交和回滚操作,以及正确的异常处理,能够极大地提升应用的稳定性...

    【Java数据库技术】索引类型与事务特性详解:提升SQL查询性能与数据一致性管理

    此外,文章还对比了InnoDB和MyISAM两种存储引擎的特点,解释了脏读、不可重复读、可重复读和幻读的概念,并讨论了SQL优化的方法以及数据库事务的ACID特性。 适合人群:具备一定数据库基础知识的开发者、数据库管理员...

    【MySQL数据库开发】基础教程:涵盖SQL语句、数据类型、表设计及事务管理

    内容概要:本文详细介绍了MySQL数据库的基础知识及其开发流程,涵盖数据库的基本概念、SQL语言的分类及语法、数据类型的使用、表结构设计与约束、数据操作(增删改查)、查询优化、多表查询、事务处理及ACID特性等...

    数据库事务与隔离级别.docx

    事务必须具备四大特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),简称ACID。 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客...

    武汉大学数据库教程 PPT

    5. **数据库5章**:数据库事务管理是关键内容,会讲述事务的概念、特性(ACID属性)、并发控制(锁定机制、多版本并发控制MVCC)以及事务的提交与回滚。 6. **数据库6章**:数据库安全性与完整性是这一章的重点,会...

    java模拟数据库事务

    此外,事务的ACID特性(原子性、一致性、隔离性和持久性)是必须遵循的原则,这要求在Java代码中实现相应的逻辑保证。 综上所述,Java模拟数据库事务是一个综合性的任务,涵盖了网络通信、并发控制、设计模式等多个...

    linux运维学习笔记:MySQL数据库事务和引擎知识.pdf

    MySQL事务具备ACID四个基本特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 1. 原子性意味着事务中包含的操作要么全部完成,要么全部不做。比如一个转账事务,...

    基于Java DIY构建ACID特性的简易数据库设计源码

    ACID特性是衡量一个数据库事务处理能力的重要指标,其含义包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。原子性保证了事务中的所有操作要么全部完成,要么全部不...

    数据库事务

    事务具备ACID特性: - **原子性**(Atomicity):事务中的所有操作要么全部成功,要么全部失败,不能部分执行。 - **一致性**(Consistency):事务的执行使得数据库从一种一致状态转换到另一种一致状态。 - **隔离...

    软考系分之数据库事务并发与事务加锁

    事务具备四个关键特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及持久性(Durability),通常被称为ACID特性。 1. **原子性**:指事务内的所有操作要么全部完成,要么一个也不执行。...

    Spring事务的传播特性和隔离级别

    事务具备四个核心特性,通常被称为ACID特性: 1. **原子性(Atomicity)**:事务中的所有操作被视为一个不可分割的整体,要么全部成功执行,要么全部失败并回滚。这意味着事务中的每个操作都必须成功,否则整个事务...

    数据库系统工程师新大纲

    - **数据库事务管理**:ACID属性、日志技术。 - **数据库设计**:数据依赖理论、模式规范化。 - **索引与查询优化**:索引类型、查询优化策略。 - **分布式数据库**:分布特性、查询处理、事务管理。 - **数据库性能...

    大连理工大学数据库课件

    【数据库基础概论】 在大连理工大学的这门数据库课程中,你将系统地学习到...这些PPT课件将为初学者提供全面而系统的数据库学习路径,从基本概念到高级主题,帮助你建立起扎实的数据库理论基础,并具备实际操作能力。

    分布式事务处理方案.docx

    数据库事务具备四大基本特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),通常被称为ACID特性。 - **原子性**:事务中的所有操作要么全部完成,要么一个也不完成。...

    数据库原理与应用-东南大学-徐立臻教授.zip

    - ACID(原子性、一致性、隔离性、持久性):数据库事务的四大特性。 6. **数据库性能优化**: - 索引:提升查询速度,但也会影响写操作。 - SQL优化:避免全表扫描,合理使用JOIN和子查询。 - 分区和分片:...

    《数据库系统概论》试题.

    - 事务(Transaction):数据库操作的基本单元,具有ACID特性(原子性、一致性、隔离性、持久性)。 - 撤销(Rollback)和提交(Commit):保证事务的原子性。 - 锁机制:共享锁(读锁)和独占锁(写锁),用于...

    吉林大学2008级研究生《分布式数据库技术》

    2. **分布式数据库的特性**: - **数据分布**:数据可以分布在多个节点上,每个节点有自己的局部数据库。 - **位置透明性**:用户无需关心数据在哪个节点,只需按逻辑地址访问。 - **复制与冗余**:为了提高可用...

    河海大学 数据库系统与应用ppt 郭学俊

    4. **数据库事务与并发控制**:讨论事务的ACID特性(原子性、一致性、隔离性和持久性),以及并发操作可能导致的问题如死锁和脏读,并介绍解决方案如封锁协议和乐观并发控制。 5. **数据库恢复技术**:探讨数据库的...

    数据库系统概论课件,王珊等编写

    10. **分布式数据库和云存储**:探讨分布式数据库的概念,如数据分区、复制和分布式事务处理,以及现代云数据库的特性和服务。 通过学习这门课件,学生们将能够系统地掌握数据库理论,并具备设计、实施和管理高效...

    计算机全国等级考试三级数据库技术上机试题100题打包下载

    7. 数据库事务和并发控制:理解事务的ACID特性(原子性、一致性、隔离性、持久性),以及死锁的概念和解决方法。 8. 数据库性能优化:索引的创建与管理,查询优化,存储过程的编写和调优,都是提高数据库性能的关键...

Global site tag (gtag.js) - Google Analytics