`

数据库理论_事务&并发控制_001

阅读更多

事务:用户定义的一组数据库操作序列。这些操作要么都做要么都不做,它是一个不可分割的工作单元。

 

事务的特性:(ACID)

原子性(Atommicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)

原子性:事务是数据库的逻辑操作单元,事务中的操作要么都做要么都不做。

         所谓逻辑操作单元,我是这样理解的。我们都知道数据库是由多张表组成的,表中存的自然都是数据。但是数据与数据之间其实是存在逻辑关系的。最经典的一个例子,银行账号。假如,我在某银行有两张卡,A和B。A里面有10万,B里面有10万。我名下就有20万块钱。接着假如,我今天抽风,我从A里面转出了5万到B里面。那么这个事务可以抽象成两个操作。

      1.A卡里面的钱要减少五万。A=100000-50000=50000 

      2.B卡里面的钱要增加五万。B=100000 + 50000 = 15000

     如果只做了操作1。A:5万,B: 10万。我平白无故少了5万,那我肯定不干。如果只做了操作2。我平白多了5万,我是很愿意的,银行肯定也不干。

  这就是事务的原子性,要么都做,要么都不做。逻辑上不可分割。数据库里的数据毕竟都是有现实存在意义的,不能随便乱改。

 

一致性:事务执行的结果必须使数据库从一个一致性状态变成另一个一致性状态。还是以上面的例子来解释,事务之前:A 10万, B 10万。我有20万存在某行。这是一个一致性状态。 事务之后: A 5万  B 15万 我还是有20万。我与银行都不吃亏。数据库变到了另一个一致性的状态。(我觉得一致性状态可以把它理解为正确的、合理的状态。数据库的数据是随时可以变化的,但是它得变得有意义,变得合理。乱七八糟地瞎改,那是黑客干的事,是要被关起来反思哒。)

 

隔离性:就是一个事务的执行不能被其他事务干扰。其实说白了还是为了保证事务的原子性和一致性。

 

持续性:有的书也会把它翻译成持久性。就是指事务一旦成功提交,它对数据库的数据的更新是持久的。如果不持久,那也没有改的必要嘛。

 

事务的并发: 理论上来讲,如果串行执行多个事务的话,N个事务排队执行,T1完了T2,T2完了T3.....这样一个接着一个,就可以很好的保证事务的ACID特性了。但是万事万物都是两面的,这样做的一大代价就是资源浪费。其实每个事务在不同的操作过程中可能需要的资源不一样,有时候需要CPU,有时候要存取数据库,有时候要通信等。浪费了资源就响应慢了,响应慢了用户就不干了。这样,事务的并发就应运而生啦。

T1->T2->T3: 这是串行。

T1(A)->T1(B)->T2(A)->T3(A)->T3(B)->T2(B)->T3(C): 并行执行。将事务切片,交叉并发执行。

事务的并发说白了就是节约系统资源,快速执行,减少用户等待响应的事件。但是它破坏了事务的一致性隔离性,所以就产生了以下的问题。

 

数据库并发引起的三种数据不一致性。老是傻傻记不清,再来复习一遍吧。

1. 丢失修改。

事务T1和T2同时修改数据A,此时A=12,T1: A=A-1, T2: A=A-1, T1提交,T2提交。T1和T2都对T1做了减1的操作,但是T1被T2覆盖。


 

2.不可重复读。

事务T1在操作1和操作2都需要读取某个数据A,在操作1结束后,T2中的操作修改了数据A。使得T1在后续操作中再次读取到的数据A和之前的不一致。也就是T1中第一次读取的数据A不可重复读。


 

3.脏数据。

T1修改了某个数据A并将其写入了磁盘。T2读取了新的A,接着T1发现自己刚才抽风了不应该修改A,就回滚了刚刚的操作。这个时候T2悲剧了,因为你读的数据是错哒哒哒,肿么办?这就是脏读。



 

 

 

 

 

  • 大小: 4.6 KB
  • 大小: 4 KB
  • 大小: 1.8 KB
0
0
分享到:
评论

相关推荐

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

    2. 并发控制:在多用户环境下,数据库系统需要防止数据不一致,如死锁检测和避免、锁定机制和多版本并发控制(MVCC)。 七、数据库安全性与备份恢复 1. 安全性:包括用户认证、权限控制、审计日志等,确保只有授权...

    czy.rar_数据库 实验_数据库 实验报告_数据库 报告_数据库实验_数据库设计报告

    数据库实验报告是对数据库设计、实现和管理过程的详尽记录,是学习数据库理论与实践的重要环节。本压缩包“czy.rar”包含了一系列的数据库实验及其报告,旨在帮助学生深入理解和掌握数据库系统的各种概念和技术。 ...

    分布式数据库 第八章 分布式并发控制

    分布式数据库系统中的分布式并发控制是指在分布式数据库系统中,多个事务并发执行时,为了避免操作冲突和数据不一致性,而采取的一些技术和方法。分布式并发控制是分布式事务管理的基本任务之一,目的是保证分布式...

    数据库资料_数据库资料_

    它可能涵盖了数据库的定义、分类(如关系型数据库、非关系型数据库)、数据库管理系统(DBMS)的功能、数据库设计(如ER模型、关系模型)以及事务处理、并发控制和恢复机制等核心概念。复习题可能包括选择题、填空题...

    数据库PPT关于并发控制

    数据库并发控制是数据库管理系统中的关键组成部分,其目的是确保在多用户环境下,多个事务同时执行时,数据的完整性和一致性不受影响。并发控制的主要任务是防止事务间的不正确交互,如脏读、不可重复读和幻读等现象...

    分布式数据库并发控制

    分布式数据库并发控制是数据库系统中的一个重要领域,尤其在多处理器或多节点环境中,多个事务可能同时对数据库进行操作,这就会引入一系列并发问题。并发执行在单处理器和多处理器环境下都有可能发生,不同的是,在...

    数据库原理13 A卷考题11.zip_数据库原理_数据库原理试卷_数据库考题_数据库试卷

    8. **并发控制**:解决多用户同时访问数据库时可能出现的数据不一致性问题,如锁机制(共享锁、独占锁)和乐观锁、悲观锁策略。 9. **数据库恢复**:通过日志记录(如redo和undo操作)确保在系统故障后能够恢复到...

    Hotel_hotel_数据库_comfortablesqw_数据库课设_

    7. **数据库性能优化**:考虑到酒店系统的实时性要求,可能涉及到索引的使用、查询优化和事务处理,以提高系统响应速度和并发处理能力。 8. **安全性**:数据保护是任何数据库系统的重要部分,可能需要实现用户权限...

    数据库原理与设计课件:第9章 并发控制.ppt

    并发控制是数据库系统中的一种机制,用于确保多个事务并发执行时的正确性和一致性。 首先,数据库系统具有多用户特征,允许多个用户同时使用同一个数据库系统,例如飞机定票数据库系统和银行数据库系统。在这种情况...

    (整合)数据库-人大_数据库教材_

    中国人民大学的这本数据库教材,为初学者提供了深入理解和掌握数据库理论与实践的基础。 【关系数据库基础】 教材中可能涵盖的关系数据库基础知识包括: 1. 数据库系统概念:解释数据库、数据库管理系统(DBMS)...

    实验数据库资源_sqlserver_实验数据_数据开发_mypetshop数据库_mypetshop_

    5. **数据操作**:通过SQL对mypetshop数据库进行数据插入、更新和删除操作,了解事务处理和并发控制。 6. **数据库备份和恢复**:学习如何备份和恢复SQL Server数据库,确保数据安全。 7. **性能优化**:学习索引...

    基于分布式数据库系统的并发控制方法应用研究.pdf

    其次,分布式数据库并发控制的理论基础是建立在数据库的整体性和数据锁定功能之上。通过连接分散的数据库形成一个控制整体,可以集中管理,节省数据分析时间,并精确到各个分层数据库进行深入分析。数据锁定功能允许...

    深度探索关系数据库_实践者的关系理论.zip

    此外,SQL还支持事务处理和并发控制,确保了数据的一致性和完整性。 C.J.Date是一位著名的关系数据库理论专家,他的著作对这个领域有着深远影响。他的理论强调了数据库的规范化,即通过分解表来消除数据冗余和异常...

    shujukuyuanli.rar_数据库 教程_数据库原理

    3. 关系数据库理论:包括关系数据模型、关系代数、SQL语言等。关系数据模型是通过二维表格来表示数据,而SQL(Structured Query Language)是用于操作和查询关系数据库的语言。 4. 数据库设计:包括需求分析、概念...

    中科大_研究生_2020_高级数据库系统_课后作业标准答案+讲解

    ACID(原子性、一致性、隔离性、持久性)属性是事务管理的基本原则,作业中可能会设计到如何处理事务并发,以及如何在系统故障时恢复事务。 并发控制是多用户环境下数据库系统必须面对的问题。死锁检测与预防、锁...

    数据库原理课件--11_并发控制.ppt

    在数据库系统中,并发控制是确保多个事务在并行执行时仍能保持数据一致性与完整性的关键机制。并发控制的主要目标是防止事务间的错误...并发控制是数据库理论和实践中不可或缺的一部分,也是衡量DBMS性能的重要指标。

    数据库原理答案_数据库_

    《数据库系统原理与设计(万常选版)》是一本深入探讨数据库理论与实践的教材,旨在帮助读者理解和掌握数据库的设计与管理技术。本书涵盖了数据库的基础概念、关系模型、SQL语言、数据库设计、事务处理、并发控制、...

    数据库项目开发实践 2015.4 _数据库_数据库项目_

    还会涉及事务处理、并发控制和数据库恢复机制,这些都是确保数据完整性和一致性的关键。 数据库安全也是重要的一环。资料中可能包含用户权限管理、访问控制、加密存储以及如何防止SQL注入等安全策略。同时,资料会...

    .数据库设计_数据库详细设计.doc

    - **异常处理和事务管理**:确保在并发环境下数据的一致性和完整性,比如ACID(原子性、一致性、隔离性、持久性)属性的实现。 - **性能测试与调优**:对设计进行性能测试,并根据测试结果进行调整,以满足系统性能...

Global site tag (gtag.js) - Google Analytics