数据库并发控制思维导图+大纲笔记

思维导图

大纲笔记

  • 多用户数据库系统
    • 定义
      • 允许多个用户同时使用的数据库系统
    • 特点
      • 在同一时刻并发运行的事务数可达数百上千个
      • 多事务执行方式
        • 事务串行执行
        • 交叉并发方式
          • 单处理机系统
        • 同时并发方式
          • 多处理机系统
    • 事务并发执行带来的问题
      • 产生多个事务同时存取同一数据的情况
      • 可能会存取和存储不正确的数据,破坏事务隔离性和数据库的一致性
    • 数据库管理系统必须提供并发控制机制
    • 并发控制机制是衡量一个数据库管理系统性能的重要标志之一
  • 封锁
    • 定义
      • 封锁就是事务T在对某一个数据对象操作之前,先向系统发出请求,对其加锁
    • 基本封锁类型
      • 排它锁(写锁):X锁
      • 共享锁(读锁):S锁
    • 锁的相容矩阵
      • Y=Yes,相容的请求
      • N:No,不相容的请求
    • 作用
      • 封锁是实现并发控制的一个非常重要的技术
  • 活锁和死锁
    • 活锁
      • 避免活锁
        • 先来先服务
    • 死锁
      • 解决死锁方法
        • 死锁预防
          • 一次封锁法
          • 顺序封锁法
        • 死锁的诊断与解除
          • 超时法
          • 等待图法
  • 并发调度的可串行性
    • 可串行化调度
      • 可串行化调度
        • 多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行的执行这些事务时的结果相同
      • 可串行性
        • 是并发事务正确调度的准则
        • 一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度
    • 冲突可串行化调度
      • 冲突可串行化
      • 冲突操作
        • 不同的事务对同一数据的读写操作和写写操作
      • 冲突
        • 不能交换的动作
          • 同一事务的两个操作
          • 不同事务的冲突操作
  • 并发控制概述
    • 事务是并发控制的基本单位
    • 并发控制的任务
      • 对并发操作进行正确调度
      • 保证事务的隔离性
      • 保证数据库的一致性
    • 并发操作带来的数据不一致行包括
      • 丢失修改
        • 写-写
      • 不可重复读
        • 读-更新(插入、修改、删除)
        • 三种情况
          • 情况1
            • 事务1读取某一数据
            • 事务2对其做修改
            • 当事务1再次读该数据时,得到与前一次不同的值
          • 情况2
            • 读-删除
          • 情况3
            • 读-插入
          • 2、3称为幻影现象
      • 读‘脏‘数据
        • ’脏’数据即不正确的数据,读到的数据是数据库的临时状态
          • 修改-读
    • 记号
      • R(x):读数据x
      • W(x):写数据x
    • 并发控制机制就是要用正确的方式调度并发操作,使一个用户的执行不受其他事务的干扰,避免造成数据的不一致性
    • 并发控制的主要技术
      • 封锁
      • 时间戳
      • 乐观控制法
      • 多版本并发控制
  • 封锁协议
    • 规则
      • 何时申请X锁或S锁
      • 持锁时间
      • 何时释放
    • 三级封锁协议
      • 一级封锁协议
        • 解决问题
          • 丢失修改
        • 未解决问题
          • 可重复读
          • 不读‘脏’数据
      • 二级封锁协议
        • 解决问题
          • 丢失修改
          • 读赃数据
        • 未解决问题
          • 不能保证可重复读
      • 三级封锁协议
        • 解决问题
          • 丢失修改、读赃数据、不可重复读
        • 未解决问题
  • 两段封锁协议
    • 事务遵循两段封锁协议是可串行化调度的充分条件,不是必要条件
  • 封锁的粒度

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

哪吒汽车把最后的翻身筹码,全压在了这辆新车上

正如比亚迪王传福所说,新能源车市场已进入惨烈淘汰赛环节。 近几年国内新能源车销量增长势头迅猛,仅过去的 2023 年产销便分别达 958.7 万辆和 949.5 万辆,同比增长 35.8% 和 37.9%。 销量高速增长背后自然也带来了越来越激烈的竞争。 过去…

【学习】应急响应

知识体系 事件前 事件后 导致安全事件的原因 part2 事件的分级分类 part3 应急响应工作流程

TGRS 2023.11遥感预训练模型的再思考:基于实例感知的遥感场景分类视觉提示

提出了一种参数高效调优方法,称为实例感知视觉提示(IVP)。该方法基于RS图像复杂的背景和高度多变的特征,自适应生成提示信息,仅更新少量参数,将预训练好的RS模型转移到不同的场景分类任务中。具体来说,我们没有调整整个…

没有文件服务器,头像存哪里合适

没有文件服务器,头像存哪里合适 1. 背景 之前有同学私信我说,他的项目只是想存个头像,没有别的文件存储需求,不想去用什么Fastdfs之类的方案搭建文件服务器,有没有更简单且无需后期维护的方案,我喝了一口…

【数字图像处理笔记】Matlab实现离散傅立叶变换 (二)

💌 所属专栏:【数字图像处理笔记】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#x…

自然资源调查监测评价系统:守护绿色地球的先锋

随着人类对自然资源的日益依赖,如何合理、可持续地利用这些资源成为了全球关注的焦点。自然资源调查监测评价系统,作为守护绿色地球的重要工具,正发挥着越来越重要的作用。本文将带您了解这一系统的内涵、功能及其在现代社会中的意义。一、自…

Linux内核驱动开发-字符设备驱动框架

1前置条件 &#xff08;1&#xff09;【linux】内核编译结束 &#xff08;2&#xff09;【linux】目录配置跳转文件&#xff1a;补充&#xff1a;配置的跳转文件只能在【linux】目录下使用&#xff0c;子目录无法使用2驱动框架 2.1编写驱动程序 #include <linux/init.h&g…

Lagent AgentLego 智能体应用搭建——笔记

Lagent & AgentLego 智能体应用搭建——笔记 一、智能体简介1.1、为什么要有智能体1.1.1、幻觉问题1.1.2、时效性1.1.3、可靠性 1.2、智能体的含义1.3、智能体的组成1.3.1、大脑1.3.2、感知1.3.3、动作 1.4、智能体范式1.4.1、AutoGPT1.4.2、Rewoo1.4.3、ReAct 二、Lagent …

账号安全及应用

一、账号安全控制 1.1系统账号清理 将用户设置为无法登陆 锁定账户 删除账户 设定账户密码&#xff0c;本质锁定 锁定配置文件-chattr&#xff1a; -a 让文件或目录仅供附加用途。只能追加 -i 不得任意更动文件或目录。 1.2密码安全控制 chage 1.3历史命令 history&am…

Unity 踩坑记录 Rigidbody 刚体重力失效

playerSetting > physics > Gravity > 设置 Y 的值为负数

SpringBoot 根据不同环境切换不同文件路径

最简单的办法就是使用多个 application.yml 配置文件 。一个叫 application-test.yml 测试用&#xff1b;另一个是正式使用的 application-prod.yml 。win环境下大部分是开发测试时候使用的&#xff0c;服务正式上线需要部署在Linux服务器上又换成了Linux。但开发初期或者项目…

Docker容器概念介绍与基本管理

前言 在软件开发和部署环境中&#xff0c;使用 Docker 等容器技术可以帮助团队实现快速、一致、可靠的应用程序部署&#xff0c;提高开发效率和应用程序的可移植性。 目录 一、虚拟化产品介绍 1. 云服务模型 1.1 IaaS 1.2 PaaS 1.3 SaaS 1.4 DaaS 2. 产品介绍 2.1 虚…

5款好用的监控员工电脑软件推荐 (如何监控员工上班工作情况)

在现代的商业环境中&#xff0c;管理和监控员工的工作内容是至关重要的。 为了确保员工的工作效率和质量&#xff0c;公司需要使用一些工具来监控他们的工作进程。 以下是五款实用的监控员工工作内容的软件。 域智盾软件 域智盾是一款专为企业打造的智能管理系统。 它借助人…

FPGA设计篇——波形绘制软件

FPGA设计篇——波形绘制软件 写在前面一、Visio二、TimeGen三、WaveDrom写在最后 写在前面 在FPGA设计过程中&#xff0c;经常需要编写设计文档&#xff0c;其中&#xff0c;不可缺少的就是仿真波形的绘制&#xff0c;可以直接截取Vivado或者Modelsim平台实际仿真波形&#xff…

JVM学习笔记(四)类加载与字节码技术

目录 一、类文件结构 二、字节码指令 2.3 图解方法执行流程 1&#xff09;原始 java 代码 2&#xff09;编译后的字节码文件 3&#xff09;常量池载入运行时常量池 4&#xff09;方法字节码载入方法区 5&#xff09;main 线程开始运行&#xff0c;分配栈帧内存 6&…

分布式-知识体系

分布式系统 本质就是一堆机器的协同&#xff0c;要做的就是用各种手段来让机器的运行达到预期 分布式业务场景 分布式四纵四横说 基于 MSA&#xff08;微服务架构&#xff09;的分布式知识体系 相关概念 – 【摘自网络原文】 节点与网络 节点 传统的节点也就是一台单体的物…

搞嵌入式到底属于程序员吗?

搞嵌入式到底属不属于程序员呢&#xff1f;毫无疑问&#xff0c;当然算啊&#xff01;而且我十分赞同另一位朋友所说的&#xff1a;嵌入式程序员是难得的全栈型程序员。尽管嵌入式领域方向众多且繁杂&#xff0c;但他们同样也是会写代码的程序员。 嵌入式行业主要分为硬件和软…

《从零开始的Java世界》11网络编程

《从零开始的Java世界》系列主要讲解Javase部分&#xff0c;从最简单的程序设计到面向对象编程&#xff0c;再到异常处理、常用API的使用&#xff0c;最后到注解、反射&#xff0c;涵盖Java基础所需的所有知识点。学习者应该从学会如何使用&#xff0c;到知道其实现原理全方位式…

打开IIS网站网页错误提示Argument ‘Key must not be null‘ cannot be null.解决方案 Oracle数据库监听

打开网页异常如下&#xff1a; /“应用程序中的服务器错误。 Argument Key must not be null cannot be null.参数名:Key must not be null 客户端 连接oracle 提示&#xff1a;ORA-12541:TNS:无监听程序 按组合键WindowsR&#xff0c;打开运行 输入命令&#xff1a;lsnrctl s…

周报不止是汇报进度,如何用周报轻松提升团队协作效率?

周报是工作中常见的沟通工具&#xff0c;对于项目经理来说尤其重要。写周报不仅仅是为了完成一项任务&#xff0c;它更是项目管理中不可或缺的环节&#xff0c;它不仅有助于项目经理跟踪项目进度&#xff0c;还加强了团队成员间的沟通与协作。以下是几个关键的原因&#xff1a;…
最新文章