当前位置: 首页 > article >正文

数据管理系统-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



http://www.kler.cn/news/156651.html

相关文章:

  • ADAudit Plus:强大的网络安全卫士
  • RflySim | 姿态控制器设计实验一
  • 接口测试--知识问答
  • CCFCSP试题编号:202006-2试题名称:稀疏向量
  • 科普类软文怎么写才能提高用户接受度?媒介盒子分享
  • 拼多多关键词搜索商品列表接口调用演示,关键词搜索接口,item_search - 按关键字搜索商品列表案例
  • 在线陪诊系统: 医疗科技的崭新前沿
  • MacOS 14 系统 XCode15、 Flutter 开发 IOS
  • QJsonObject 是 Qt 框架中用于表示 JSON 对象的类
  • opencv知识库:cv2.add()函数和“+”号运算符
  • 计算机网络TCP篇③问答篇
  • 【NGINX--11】利用访问日志、错误日志和 请求跟踪进行调试和故障排除
  • Python与ArcGIS系列(十四)批量输出shp(自定义工具)
  • wordpress建站优化加速教程-Redis加速
  • 制作openeuler的livecd
  • scikit-learn线性回归法进行利润预测
  • Sui生态DeFi将参加Builder DAO举办的活动,为期三天畅谈如何Build on Sui
  • WT2605-24SS高品质录音语音芯片:实时输出、不保存本地,引领音频技术新潮流
  • 如何把栅格图像变平滑
  • Future.forEach异步遍历列表,Future.doWhile实现了一个无限循环,直到满足某个条件才停止
  • CGE模型应用
  • 【华为OD题库-058】矩阵中非1的元素个数-java
  • 知识点滴 - 什么是半透膜和渗透压
  • 计算机网络:传输层——多路复用与解复用
  • 十、FreeRTOS之FreeRTOS时间片调度
  • 实现简单的Spring
  • thinkphp6出现 htmlentities() expects parameter 1 to be string, array given
  • 金融帝国实验室(Capitalism Lab)官方正版游戏『2023双12特卖』
  • 微信小程序uni.chooseImage()无效解决方案
  • C#/.NET/.NET Core优秀项目和框架2023年11月简报