第14章 并发控制与恢复

news2024/11/19 2:33:28

第14章 并发控制与恢复

考试范围: 14.1-14.3, 14.8-14.11

考试题型: 事务操作

考试内容:

1、锁/共享锁/排它锁的概念

在这里插入图片描述

在这里插入图片描述

2、多粒度锁 Multiple Granularity

在这里插入图片描述

在这里插入图片描述

3、两阶段封锁协议 The Two-Phase Locking Protocol

  • 两段锁协议是指同一事务对任何数据进行读写之前必须对该数据加锁,在释放一个封锁之后,该事务不再申请和获得任何其他封锁。

  • Each transaction issue lock and unlock requests in two phases:

    • Growing Phase 扩张阶段
      • A transaction may obtain locks, but may not release locks
    • Shrinking Phase 收缩阶段
      • A transaction may release locks, but may not obtain locks
  • 例子

    • T1:Slock A…Slock B…Xlock C…Unlock B…Unlock A…Unlock C
      T2:Slock A…Unlock A…Slock B…Xlock C…Unlock C…Unlock B

      T1符合两段锁协议,T2不符合。因为整个加锁阶段不能有解锁,解锁阶段不能有加锁

  • Initially, a transaction is in the growing phase. The transaction acquires locks as needed. Once the transaction releases a lock, it enters the shrinking phase, and it cannot issue lock requests (最初,交易处于增长阶段。事务根据需要获取锁。一旦事务释放锁,它就会进入收缩阶段,并且无法发出锁定请求)

  • 两阶段锁定协议的变体

    • Strict two-phase locking protocol
      • a transaction must hold all its X-locks until it commits/aborts 事务必须保留其所有 X 锁,直到提交/中止
      • Can ensure cascadeless and recoverable schedules 可以确保无级联和可恢复调度
    • Rigorous two-phase locking
      • all locks are held until commit/abort 所有锁都保持,直到提交/中止
      • transactions can be serialized in the order in which they commit 事务可以按照其提交的顺序进行串行化

4、日志的概念

  • 日志是一系列日志记录。记录保留有关数据库上的更新活动的信息 A log is a sequence of log records. The records keep information about update activities on the database

5、Checkpoint概念

  • 问题:当日志太大,重做/撤消日志中记录的所有事务可能非常慢
    • 处理整个日志非常耗时
    • 我们可能会不必要地重做已经将其更新输出到数据库的事务
  • 解决方法:通过定期执行检查点来简化恢复过程
    • 将当前驻留在主内存中的所有日志记录输出到稳定存储中
    • 将所有修改的缓冲区块输出到磁盘
    • 将日志记录**<checkpoint** L**>** 写入稳定存储,其中 L 是检查点时所有活动事务的列表
    • 执行检查点操作时停止所有更新
  • 示例
    在这里插入图片描述

6、立即的数据库更新

  • 立即修改方案允许在事务提交之前对缓冲区或磁盘本身更新未提交的事务,更新的块输出到磁盘可以在事务提交之前或之后的任何时间进行,块的输出顺序可能与写入块的顺序不同

  • 示例

    在这里插入图片描述

7、恢复策略(redo undo哪些事务)

  • 并发控制和恢复 Concurrency Control and Recovery

    • 未提交事务的更新不应对其他事务可见
    • 可以通过获取更新项目的排它锁并保持锁直到事务结束(strict two-phase locking)来确保
      在这里插入图片描述
  • 从故障中恢复
    在这里插入图片描述

    • 示例
      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/107011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.前端笔记-JS-JS3种书写位置、注释、输入输出

书写位置 行内式嵌入式外部文件引入 1、行内式JS 可以将单行或少量的JS代码写在HTML标签的事件属性中&#xff08;以on开头的属性&#xff09;&#xff0c;如onclick单双引号使用&#xff1a;HTML中推荐双引号&#xff0c;JS中推荐单引号&#xff0c;如 <input type&quo…

vue实现将自己网站(h5链接)分享到微信中形成小卡片(超详细)

大家好&#xff0c;我是雄雄。 前言 我们在分享公众号信息到微信或者群中的时候&#xff0c;会出现一个小卡片&#xff0c;如下所示&#xff1a; 但是呢&#xff0c;这种小卡片只能走微信的接口来实现&#xff0c;比如我们从公众号、小程序中分享的内容可以是这样的。如果我们…

0基础转行,四个月,改变了我的人生!

转行对于很多人而言都是一个新的开始&#xff0c;但有的人是决定了立马去做&#xff0c;而有的人则是犹犹豫豫&#xff0c;我考虑考虑吧、还没有决定好、过段时间再说吧…… 就这样&#xff0c;相似情况的两个人&#xff0c;最后有了不同的结果。 很多人总是以我很忙、学历不高…

自学100天,零基础转行软件测试,我要以更好的姿态奔赴下一场山海!

三年大专一场空 专业是电子商务&#xff0c;18年毕业&#xff0c;当时在报考时时觉得电子商务挺高大上的&#xff0c;觉得电商肯定会有前途&#xff0c;以后毕业肯定好找工作&#xff0c;跟大多数人一样&#xff0c;我开始幻想我以后毕业以后的纸醉金迷的生活&#xff0c;我以…

模数转换器ADC

模数转换器ADC F28335内部的ADC模块是一个12位分辨率的、具有流水线结构的模数转换器,其结构框图如图11-1所示。从图11-1可以看到,F28335的ADC模块一共具有16个采样通道,分成了两组,一组为ADCINAO~ ADCINA7,另一组为ADCINBO~ADCINB7。A组的通道使用采样保持器A,也就是图…

【SCI论文解读复现NO.1】基于Transformer-YOLOv5的侧扫声纳图像水下海洋目标实时检测

前言 此前出了目标改进算法专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读最新目标检测算法论文&#xff0…

【小学信息技术教资面试】《制作通讯录》教案

1.题目&#xff1a;制作通讯录 2.内容&#xff1a; 3.基本要求&#xff1a; &#xff08;1&#xff09;使用任务驱动法进行教学。 &#xff08;2&#xff09;掌握表格的插入和信息的填写。 &#xff08;3&#xff09;试讲时间是10分钟。 《制作通讯录》教案 一、教学目标&am…

我国核桃种植深加工行业供给较为充足 未来大健康消费时代将带来广阔市场

根据观研报告网发布的《2022年中国核桃种植深加工行业分析报告-行业竞争策略与发展动向研究》显示&#xff0c;核桃加工分为初加工与深加工。其中核桃深加工包括核桃油的压榨、核桃蛋白粉的制备、以核桃仁为原料生产休闲食品、以核桃青皮、壳等为原料生产加工日化产品等&#x…

Java agent 使用

一、前言 于一个即将上线的应用来说&#xff0c;系统监控是必不可少的&#xff0c;为什么需要监控呢&#xff1f;应用是跑在服务器上的&#xff0c;应用在运行过程中会发生各自意想不到的问题&#xff0c;像大家熟知的OOM&#xff0c;mysql故障&#xff0c;服务器宕机&#xff…

SpringBoot+Vue实现前后端分离的教务评教系统

文末获取源码 开发语言&#xff1a;Java 使用框架&#xff1a;spring boot 前端技术&#xff1a;JavaScript、Vue.js 、css3 开发工具&#xff1a;IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库&#xff1a;MySQL 5.7/8.0 数据库管理工具&#xff1a;phpstudy/Navicat JD…

将spark的数据保存到MySQL

文章目录前言环境的准备是必要的下载解压放置文件代码书写注意事项结束语前言 我们用spark对数据进行分析和提取数据后要对得到的数据进行保存接下来的内容是将数据保存到MySQL数据库中 环境的准备是必要的 下载 &#xff08;本小博主已经为看官大人准备好了下载地址点击下载…

【JVM实战系列】「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康

前提介绍 相信如果经历了我的上一篇Arthas的文章[【JVM实战系列】「监控调优体系」针对于Alibaba-Arthas的安装入门及基础使用开发实战指南]之后&#xff0c;相信你对Arthas的功能和使用应该有了一定的理解了。那么我们就要进行下一步的探索功能。 Arthas对于SpringBoot2的支…

无效回表谁的锅?存储引擎:这事儿不赖我

明确场景 要回答这个问题&#xff0c;我们一般分几步来走&#xff1a; 1.确认问题&#xff0c;对齐Sql语句&#xff1b; 2.解答问题本身&#xff0c;也就是时间复杂度分析&#xff1b; 3.针对本身提出这个场景&#xff0c;可能出现的性能瓶颈进行分析&#xff1b; 4.针对瓶…

vue+element模仿腾讯视频电影网站

一.布局设计 官方图例&#xff1a; demo效果&#xff1a; 顶部1&#xff1b;左侧菜单栏2&#xff1b;右侧内容展示区3&#xff1b; 关键点&#xff1a; 顶部固定&#xff0c;不随页面滚动而滚动&#xff1b;左侧可局部滚动显示更多菜单&#xff1b;右侧局部滚动&#xff…

拓扑梅尔智慧办公平台(Topomel Box) 3.0发布

今天&#xff0c;2022年12月21日&#xff0c;我很高兴地宣布&#xff1a;拓扑梅尔智慧办公平台(Topomel Box)的3.0版本正式发布。 下面&#xff0c;请允许我简单地介绍下新版本的一些基本情况。 新特性 1) 统一的文件管理 将所有你关心的文件都统一存放在同一个地方&#xff…

Linux 4.7内核syncookie的性能

虽然现在的内核都已经是4.11版本了&#xff0c;但本文依旧基于较老的内核版本旧事重提&#xff0c;就4.7版本的一个针对syncookie的一个优化书写一段吹捧与嘲讽。 自从4.4版本的Lockless TCP listener以来&#xff0c;针对TCP在大并发连接处理这块一直都没有更大的突破&#x…

RNA-seq 详细教程:注释(15)

学习内容 了解可用的基因组注释数据库和存储信息的不同类型比较和对比可用于基因组注释数据库的工具应用各种 R 包检索基因组注释基因组注释 对二代测序结果的分析需要将基因、转录本、蛋白质等与功能或调控信息相关联。为了对基因列表进行功能分析&#xff0c;我们通常需要获得…

哈希冲突概率计算及python仿真

目录 1. 前言 2. 生日问题 3. 哈希冲突问题 4. 简易python仿真 5. 从另一个角度看哈希冲突概率 1. 前言 Hash函数不是计算理论的中基本概念&#xff0c;计算理论中只有单向函数的说法。所谓的单向函数&#xff0c;是一个复杂的定义&#xff0c;严格的定义要参考理论或者密…

老板,明年我用Seata搞定分布式事务管理的规范化建设 | 中篇

辞旧迎新&#xff0c;22年要结束了&#xff0c;明年做什么想好了嘛&#xff1f;要不要用 Seata 搞定公司分布式事务管理的规范化建设&#xff1f; 欢迎关注微信公众号「架构染色」交流和学习 一、背景 在上一篇《明年用Seata搞定分布式事务管理的规范化建设 | 上篇》 中介绍了…

低成本、高效率!华为云桌面助力企业数字化转型

在云计算飞速发展的今天&#xff0c;传统办公设备体积大、能耗高、维护难、更新换代快等问题日益凸显&#xff0c;而基于云计算平台的虚拟办公系统逐渐被业界接受并得到广泛应用。其中&#xff0c;华为云桌面Workspace既满足了企业移动办公、远程办公、安全办公等要求&#xff…