




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020年3月14日 第1页 第13章事务 本章概述本章要点本章内容 2020年3月14日 第2页 本章概述 对于一个有大量用户使用的分布式数据库管理系统来说 必须很好地解决多用户使用过程中出现的并发性问题 提高数据库的处理速度 仅依靠提高计算机的物理速度是不够的 还必须充分考虑和解决数据库系统的并发性问题 提高数据库并发操作的效率 在MicrosoftSQLServer2008系统中 通过采用事务和锁机制 解决了数据库系统的并发性问题 本章将全面阐述MicrosoftSQLServer的事务技术 2020年3月14日 第3页 本章要点 并发性的概念和并发性问题的特点事务的概念 类型和特点事务管理技术理解锁的作用掌握定制锁技术掌握查看和理解锁信息技术 2020年3月14日 第4页 本章内容 13 1概述13 2事务的特点 类型和管理13 3使用锁13 4本章小结 13 1概述 经常有许多用户同时访问和使用数据库 并发性就是两个或两个以上的用户同时对数据执行的操作 并发性问题就是并发操作时遇到的各种问题 在MicrosoftSQLServer2008系统中 解决并发性问题采取了事务和锁机制 2020年3月14日 第5页 事务和锁 事务和锁是两个紧密联系的概念 事务就是一个单元的工作 包括一系列的操作 这些操作要么全部成功 要么全部失败 事务确保多个数据的修改作为一个单元来处理 例如 在银行业务中有一条记账原则 即有借必有贷 借贷必相等 为了保证这种原则 就必须确保借和贷的记录要么同时成功 要么同时失败 如果出现只记录了借方 或只记录了贷方 违反了记账原则 就会出现记错账的情况 MicrosoftSQLServer通过支持事务机制管理多个事务 保证事务的一致性 通过在事务中使用锁 可以防止其他用户修改还没有完成的事务中的数据 对于多用户系统来说 锁机制是必须的 在MicrosoftSQLServer系统中 使用事务日志来保证修改的完整性和可恢复性 2020年3月14日 第6页 13 2事务的特点 类型和管理 事务是MicrosoftSQLServer系统的重要特征 一方面保证了系统的备份和恢复 另一方面实现了数据一致性机制 下面将详细描述事务的概念 工作原理 事务的类型等内容 2020年3月14日 第7页 事务的概念 事务是指一个单元的工作 作为一个逻辑单元 它必须具备4个属性 自动性 一致性 独立性和持久性 自动性是指事务必须是一个自动的单元工作 要么执行全部数据的修改 要么全部数据的修改都不执行 一致性是指当事务完成时 必须使所有数据都具有一致的状态 独立性是指并行事务的修改必须与其他并行事务的修改相互独立 持久性是指当一个事务完成之后 它的影响永久性地产生在系统中 也就是这种修改写到了数据库中 2020年3月14日 第8页 事务的工作原理 事务确保数据的一致性和可恢复性 事务开始之后 事务所有的操作都陆续写到事务日志中 写到事务日志中的操作一般有两种 一种是针对数据的操作 一种是针对任务的操作 针对数据的操作 这些操作的对象是大量的数据 有些操作是针对任务的 例如创建索引 这些任务操作在事务日志中记录一个标志 用于表示执行了这种操作 当取消这种事务时 系统自动执行这种操作的反操作 保证系统的一致性 系统自动生成一个检查点机制 这个检查点周期地发生 2020年3月14日 第9页 使用事务时的考虑 在使用事务时 原则上应该使事务尽可能短并且要避免事务嵌套 事务应该尽可能短 这是因为比较长的事务增加了事务占用数据的时间 使其他必须等待访问该事务锁定数据的事务延长了等待访问数据的时间 在使用事务时 为了使事务尽可能短 应该采取一些相应的方法 2020年3月14日 第10页 事务的类型 根据系统的设置 可以把事务分成两种类型 一种是系统提供的事务 另一种是用户定义的事务 系统提供的事务是指在执行某些语句时 一条语句就是一个事务 这时 一条语句的对象既可以是表中的一行数据 也可以是表中的多行数据 甚至是表中的全部数据 因此 只有一条语句构成的事务也可能包含了对多行数据的处理 2020年3月14日 第11页 分布式事务 还有一种特殊的用户定义的事务 这就是分布式事务 前面提到的事务都是在一个服务器上的操作 其保证的数据完整性和一致性是指一个服务器上的完整性和一致性 但是如果在一个比较复杂的环境中可能有多台服务器 那么要保证在多服务器环境中事务的完整性和一致性 就必须定义一个分布式事务 在这个分布式事务中 所有的操作都可以涉及对多个服务器的操作 2020年3月14日 第12页 管理事务 BEGINTRANSACTIONBEGINDISTRIBUTEDTRANSACTIONCOMMITTRANSACTIONROLLBACKTRANSACTIONSAVETRANSACTIONSETIMPLICIT TRANSACTION 2020年3月14日 第13页 使用SAVETRANSACTION语句 2020年3月14日 第14页 13 3使用锁 锁是实现事务的手段 实际上锁是保护事务和数据的方式 这种保护方式类似于日常生活中使用的锁 下面介绍MicrosoftSQLServer系统中锁的特点 2020年3月14日 第15页 锁的概念 锁是防止其他事务访问指定资源的手段 锁是实现并发控制的主要方法 使多个用户能够同时操纵同一个数据库中的数据而避免发生数据不一致现象的重要保障 一般来说 锁可以防止脏读 不可重复读和幻觉读 2020年3月14日 第16页 SQLServer的空间特点 在MicrosoftSQLServer系统中 最小的空间管理单位是页 一个页有8K 所有的数据 日志 索引都存放在页上 另外 使用页还有一个限制 表中的一行数据必须在同一个页上 不能跨页 页上面的空间管理单位是Extent 一个Extent是8个连续的页 表和索引的最小占用单位是Extent 数据库是由一个或多个表或索引组成的 即是由多个Extent组成 2020年3月14日 第17页 可以锁定的资源 为了优化系统的并发性 应该根据事务的大小和系统活动的程度锁定不同的资源 也就是说 既可以锁定比较大的资源 也可以锁定比较小的资源 在MicrosoftSQLServer系统中 已经非常完善地实现了这些要求 在MicrosoftSQLServer中可以锁定的资源有多种 这些可以锁定的资源分别是行 页 Extent 表和数据库 它们对应的锁分别是行级锁 页级锁 Extent级锁 表级锁和数据库级锁 数据行存放在页上 页存放在Extent上 一个表由若干个Extent组成 而若干个表组成了数据库 在这些可以锁定的资源中 最基本的资源是行 页和表 2020年3月14日 第18页 锁的类型和其兼容性 锁定资源的方式有两种基本形式 一种形式是读操作要求的共享锁 另一种形式是写操作要求的排他锁 除了这两种基本类型的锁 还有一些特殊情况的锁 例如意图锁 修改锁和模式锁 在这些各种类型的锁中 某些类型的锁之间是可以兼容的 但多数类型的锁之间是不兼容的 有些锁之间是兼容的 例如共享锁和修改锁 有些锁之间是不兼容的 例如排他锁和共享锁 表13 1列出了MicrosoftSQLServer系统提供的各种锁之间的兼容性 2020年3月14日 第19页 死锁问题 死锁是一个很重要的话题 在事务和锁的使用过程中 死锁是一个不可避免的现象 在下面两种情况下会发生死锁 第一种情况是当两个事务分别锁定了两个单独的对象 这时每一个事务都要求在另外一个事务锁定的对象上获得一个锁 因此每一个事务都必须等待另外一个事务释放占有的锁 这时就发生了死锁 这种是最典型的死锁形式 死锁的第二种情况是在一个数据库中 有若干个长时间运行的事务执行并行的操作 当查询分析器处理一种非常复杂的查询 例如连接查询时 由于不能控制处理的顺序 有可能发生死锁现象 2020年3月14日 第20页 会话级锁和表级锁 一般地 锁是由系统自动提供的 但是在有些情况下 用户也可以定制锁 也就是说 用户可以对会话级锁和表级锁进行定制 会话级锁的定制包括两个方面 事务隔离等级和锁超时限制 事务隔离等级保护指定的事务 该事务隔离允许对一个会话中的全部事务设置隔离等级 当设置隔离等级时 就为会话中的全部语句指定了默认的锁定行为 MicrosoftSQLServer系统支持5种事务隔离等级 2020年3月14日 第21页 设置事务隔离等级 2020年3月14日 第22页 13 4本章小结 本章全面讲述了事务技术 首先 分析了并发性的概念和特点 其次 对事务的概念 类型 特点以及管理技术进行了全面研究 事务作为一个重要的数据库技术基本概念 在保护数据库的可恢复性和多用户 多事务方面具有基础性的作用 最后 对锁技术进行了全面介绍 包括锁的类型 锁资源的特点 会话级锁的特点 表级锁的特点以及死锁的特点等 2020年3月14日 第23页 思考和练习 1 什么是并发性 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度海绵城市建设施工履约保证金合同
- 高三试卷:江苏省常州市2024-2025学年高三上学期期中质量调研数学试题答案
- 二零二五年度水力发电机工程设计与心得总结合同
- 二零二五版地毯产品绿色家居定制化采购合同
- 2025版楼板浇注材料环保认证与检测合同
- 早期阅读课件
- 二零二五版船舶行业外包工安全培训及管理服务协议
- 二零二五年度钢结构预制构件生产与施工承包合同样本
- 二零二五年度会所装修工程合同范本指南
- 二零二五年度车辆维修配件供应合同
- 人民医院心血管外科临床技术操作规范2023版
- 主要组织相容性复合体及其编码分子
- 助理工程师考试试题以及答案
- 送东阳马生序
- 2017年全国大学生数学建模A题
- 2023年专升本计算机题库含答案专升本计算机真题
- GB/T 1685-2008硫化橡胶或热塑性橡胶在常温和高温下压缩应力松弛的测定
- GB/T 16674.1-2016六角法兰面螺栓小系列
- 固定资产清查工作报告
- 住宅项目景观工程施工策划(图文并茂)
- 怀念汪世清先生
评论
0/150
提交评论