数据管理系统-week9-事务处理程序简介

文章目录

  • 前言
  • 一、数据库事务
  • 二、事务处理原则(ACID)
  • 三、序列化图测试协议(Serialization graph testing protocol)
  • 四、两相锁定协议Two-phase locking (2PL) protocol
  • 五、时间戳排序协议Timestamp ordering (TO) protocol
  • 参考文献


前言

这次课主要是介绍一些数据库事务相关的概念,包括什么是数据库事务,事务处理原则,序列化图测试协议(Serialization graph testing protocol)的原则、两相锁定协议Two-phase locking (2PL) protocol的原则、时间戳排序协议Timestamp ordering (TO) protocol的原则。


一、数据库事务

什么是事务?
对数据库项的部分有序的读写操作称为事务。
事务可以是整个程序,或程序的一部分,或几个语句,或单个语句。

二、事务处理原则(ACID)

每个事务通过提交或中止(回滚)操作终止。每个事务到达一致的数据库状态,并且必须使数据库处于一致状态。

所有事务的基本属性都被称为ACID。

  • 原子性:事务单元是不可分割的。它必须完全处理,要么根本不处理。
  • 一致性:事务必须将数据库从一个一致状态转换为另一个一致状态。
  • 隔离:每个事务都必须独立处理。
  • 持久性:受已提交事务影响的数据必须永久记录在数据库中。

三、序列化图测试协议(Serialization graph testing protocol)

原则:调度程序维护和测试序列化图。如果事务发出的操作违反了冲突序列化性(即它在序列化图中创建一个循环),则该事务将被中止。

四、两相锁定协议Two-phase locking (2PL) protocol

原理:每个事务在释放任何锁之前必须获取所有锁。

五、时间戳排序协议Timestamp ordering (TO) protocol

原则:每个事务在起始点获得一个时间戳。每次事务以读取或写模式访问数据项时,都会标记数据项。允许按时间戳的递增顺序访问数据项。

参考文献

Elmasri R., Navathe S., Fundamentals of Database Systems, 6th
edition, chapter 21 Introduction to Transaction Processing
Concepts and Theory, pp. 747-779
Elmasri R., Navathe S., Fundamentals of Database Systems, 6th
edition, chapters 22.1, 22.3 Concurrency Control Techniques, pp. 780-794


你可能感兴趣的:(数据管理系统,数据库)