`
月亮不懂夜的黑
  • 浏览: 151653 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

事务及其特性

 
阅读更多
事务是单个逻辑工作单元,要么全部做完,要么全部不做,事务由两种状态,一个提交一个回滚。
事务由四个特性ACID,原子性、一致性、隔离性和永远性。

(1) 原子性 
  事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改操作要么全部执行,要么完全不执行。这种特性称为原子性。 
  事务的原子性要求,如果把一个事务可看作是一个程序,它要么完整的被执行,要么完全不执行。就是说事务的操纵序列或者完全应用到数据库或者完全不影响数据库。这种特性称为原子性。 
假如用户在一个事务内完成了对数据库的更新,这时所有的更新对外部世界必须是可见的,或者完全没有更新。前者称事务已提交,后者称事务撤消(或流产)。DBMS必须确保由成功提交的事务完成的所有操纵在数据库内有完全的反映,而失败的事务对数据库完全没有影响。 

(2) 一致性 
事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。这种特性称为事务的一致性。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。 
  一致性处理数据库中对所有语义约束的保护。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。例如,当数据库处于一致性状态S1时,对数据库执行一个事务,在事务执行期间假定数据库的状态是不一致的,当事务执行结束时,数据库处在一致性状态S2。 

(3) 分离性 
  分离性指并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。 
分离性是DBMS针对并发事务间的冲突提供的安全保证。DBMS可以通过加锁在并发执行的事务间提供不同级别的分离。假如并发交叉执行的事务没有任何控制,操纵相同的共享对象的多个并发事务的执行可能引起异常情况。 
  DBMS可以在并发执行的事务间提供不同级别的分离。分离的级别和并发事务的吞吐量之间存在反比关系。较多事务的可分离性可能会带来较高的冲突和较多的事务流产。流产的事务要消耗资源,这些资源必须要重新被访问。因此,确保高分离级别的DBMS需要更多的开销。 

(4)持久性 
  持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,耐得住任何系统故障。持久性通过数据库备份和恢复来保证。 
  持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即对已提交事务的更新能恢复。一旦一个事务被提交,DBMS必须保证提供适当的冗余,使其耐得住系统的故障。所以,持久性主要在于DBMS的恢复性能。

 

分享到:
评论

相关推荐

    数据库系统概论.doc

    《数据库系统概论》综合复习资料 一、选择 1、数据库系统的核心是______。 A、数据库 B、数据库管理系统 C、数据模型 D、软件工具 2、设...简述事务及其特性? 5.简述并发操作可能带来的问题及解决方法? 6.什么是DBMS

    Oracle 8大闪回模式及其特性及其详细实验解释

    闪回事务查询,闪回查询语句!关于闪回数据归档FBDA等等

    (mysql面试题)MySQL中的事务和锁的概念及其作用及代码展示.txt

    事务具有以下四个特性,通常称为ACID特性: - 原子性(Atomicity):事务中的所有操作要么全部成功,要么全部失败回滚; - 一致性(Consistency):事务必须使数据库从一个一致性状态变换到另一个一致性状态; - ...

    数据库事务的概念及其实现原理

    但是很多开发者对于事务的认识相对片面和肤浅,仅仅把它等同于ACID,不了解数据库系统引入事务的真正动机,ACID对于事务意味着什么以及最重要的:数据库系统是如何保证事务的ACID特性的? 因为最近在导师手下做一个微服务...

    MySQL事务的四个特征及其隔离级别

    目录1、事务概念2、事务使用3、事务的四大特征(ACID)3.1 原子性(atomicity)3.2 一致性(Consistency)3.3 隔离性(Isolation)3.3.1 read uncommitted(读未提交的);3.3.2 read committed(读已提交的);3.3.3 ...

    MySQL面试题进阶版附答案高难度深入挖掘MySQL的核心概念与技术探索ACID特性、事务隔离级别、索引优化、连接操作

    熟悉并理解这些问题及其答案将有助于你在面试中展示出对MySQL的深入了解和实际应用能力。记得在准备面试时结合实际项目经验和进一步学习MySQL的相关知识,以便能够更好地回答面试官的问题并展现自己的技术能力。

    spring事务Propagation及其实现原理详解

    主要介绍了spring事务Propagation及其实现原理详解,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下

    MYSQL常见的面试题带答案

    ACID 是指数据库事务的四个特性: 原子性 (Atomicity)、一致性 (Consistency)、隔离性 (Isolation) 和持久性 (Durability)。这四个特性保证了事务的正确性和稳定性。 2. 什么是事务? 事务是一组数据库操作语句的...

    Google Spanner–全球分布式数据库

    Spanner 是谷歌公司研发的、可扩展的、多版本、全球分布式、同步复制...这个 API 及其实现,对于支持外部一致性和许多强大特性而言,是非常重要的,这些强大特性包括:非阻塞的读、不采用锁机制的只读事务、原子模式变更。

    Google_Spanner中文版

    Spanner是谷歌公司研发的、可扩展的、多版本、全球分布式、同步复制...这个API及其实现,对于支持外部一致性和许多强大特性而言,是非常重要的,这些强大特性包括:非阻塞的读、不采用锁机制的只读事务、原子模式变更。

    数据库方面面试

    及其特性? 事务:是一系列的数据库操作,是数据库应用的基本逻辑单位。 特性: (1)原子性:即不可分割性,事务要么全部被执行,要么就全部不被执行。 (2)一致性或可串性。事务的执行使得数据库从一种正确状态...

    SQLite-1.0.31.0及其源代码

    SQLite是一个软件库,用于实现自包含、非服务式、零配置、事务化的SQL数据库引擎。 SQLite是一个嵌入式SQL数据库引擎,与其它大多数SQL数据库不同的是,SQLite没有独立的服务进程。SQLite直接读写原始的磁盘文件,一...

    MySQL高级面试题整理及答案.md

    通过阅读和理解这些面试题及其答案解析,可以更好地了解MySQL的高级特性和应用。 求职者:对于正在寻找MySQL相关职位的求职者来说,该资源可以帮助他们更好地了解MySQL的高级特性和应用,提高面试通过率。 初学者:...

    Java面试八股文.zip

    2.2 Redis数据类型及其应用 2.3 Redis持久化机制 2.4 Redis高级特性和集群 3. MySQL数据库篇 3.1 MySQL简介和基本操作 3.2 数据库设计范式和优化 3.3 事务和并发控制 3.4 索引和优化技巧 4. 框架篇 4.1 ...

    【《数据库与信息系统》复习题及答案】第5章数据库管理与保护.pdf

    事务具有原⼦性 (Atomic) 、 ⼀致性 (Consistency) 、 隔离性 (Isolation) 和持久性(Durabiliy)四个特性,简称 ACID。 4.设有两个事务 T1、T2,其并发操作如图 5.1 所示,下列评价正确的是________。 A....

    PostgreSQL实战

    本书由资深数据库专业开发人员撰写,系统介绍PostgreSQL 10的丰富特性,及其在生产实践运维中的技巧,全书分为基础篇、核心篇、进阶篇,共18章。基础篇包括第1~4章,主要介绍PostgreSQL基础知识,例如安装与配置、...

    山东大学数据库习题及答案2

    1、 如何理解空值( 2、 简述事务的概念及其相关特性 3、 关系中的元组有先后顺序吗 4、 设关系模式 5、 简述时间戳排序协议 1、 一个工厂内有多个车间,

Global site tag (gtag.js) - Google Analytics