电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据库中事务处理的设计

27页
  • 卖家[上传人]:ni****g
  • 文档编号:483857366
  • 上传时间:2023-05-24
  • 文档格式:DOC
  • 文档大小:231.51KB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 本科毕业(设计)论文(二五)届题目:数据库事务处理的设计分院系部 计算机与信息科学系 专 业 计算机科学与技术 学生姓名 导师姓名 导师职称 讲 师 副 教 授 二五年六月一日数据库事务处理的设计 摘要:本文主要介绍了关系数据库系统事务处理的基本设计思想,并介绍事务处理系统中各组件的基本功能和核心服务。以此为基础设计了一个简单的事务处理系统模型,对部分细节进行了详细设计。关键字:事务;事务处理;事务模型The Design of Transaction Processing in Database Abstract This article mainly introduced relational database system transaction processes the basic design thought, and introduction transaction processes in the system various modules basic function and the core service. Designed a simple transact

      2、ion take this as the foundation to process the system model, has carried on the detailed design to the partial details.Keywords Transaction; Transaction Processing; Transaction Processing Model目 录前言11数据库中的事务处理11.1研究的意义11.2研究的背景及目的12事务22.1事务的概念与其特性22.2事务的必要性22.3事务的模型3扁平事务3带保存点的扁平事务3链事务3嵌套事务3分布事务4长事务4多级别事务42.4事务处理系统的定义53事务处理系统的各模块的核心服务和功能63.1一个事务的执行过程63.2事务处理系统重要组件必要功能的说明7事务处理监控器的服务7日志管理器的功能说明9锁管理器的功能说明9事务管理器的功能说明104设计与实现104.1事务处理的简单模型104.2具体的设计与细节12事务标识符的设计12事务处理监控器的设计13日志管理器的设计13锁管理器的设计16事务管理器的设

      3、计165结论21前言事务处理的发展已经有了上千年的历史了。从5000年前的殷人开始使用乌龟的外壳记事以来,已经经过了几千年的历史了。20世纪后半叶在事务处理方面出现了两个主要的发展:基于磁性存储介质(磁带和磁盘)的成批事务处理以及基于电子存储和计算机网络的联机事务处理。在数据库管理系统中附加上事务处理子系统会使系统有更好的可靠性。1数据库中的事务处理1.1研究的意义在修改数据库中的数据时,要使它里面的数据正确一致的被更新,这是事务处理的工作。当数据库系统出现更新故障时,为了将损失减少到最低,一般来使用事务处理来恢复数据。事务处理的发展已经很久了,其理论和技术相对来说是比较成熟的。1.2研究的背景及目的国外的数据库经过几十年的发展,现在几乎垄断了整个市场。数据库技术是整个信息产业的核心。即使数据库的存储介质发生了改变,数据库的概念并不会有所变化。中国已经有四家企业开发了自己的数据库(不包括台湾省)。这些数据库基本能够胜任中等强度与规模的数据库系统应用。对于那些核心业务应用,国产数据库的应用案例十分有限。同时在对图形工具的支持方面,国际主流数据库管理系统提供好的图形管理工具,而且还提供丰富

      4、的应用构件和套件,比如应用服务器、系统调优与分析工具、企业应用套件等。国产数据库的要赶上国外的数据库,还要很长时间。研究的目的是:通过对事务处理的研究设计出数据库所需要的事务处理系统。2事务2.1事务的概念与其特性事务是对物理和抽象的应用状态上的操作集合。事务作为单个逻辑工作单元执行一系列操作。一个逻辑工作单元必须有四个属性,称为ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务。保证数据一致性的关键是要明确数据访问和更新的序列。这一序列称为事务。它是并发和恢复的基本单位。下面分别对事务的四个特性进行叙述:原子性:一个事务对状态的改变是原子的。要么都发生,要么都不发生。原子性是从操作调用者的角度来定义,因为几乎没有任何原子操作(包括机器指令)在所有的实现层次上保持真正的原子性。一致性:一个事务是对状态的一个正确改变。作为一组操作没有违反任何与状态相关的完整性约束。这要求事务是一个正确的程序。隔离性:尽管事务是并发执行的,但看起来是单个执行的,即对于一个事务T,任何其他事务要么在T之前执行,要么在T之后执行,但不会既在T之前,又在T之后执行。持久性:一旦一个事务成功

      5、完成(提交),它对状态的改变不会受到其他失败事务的影响。2.2事务的必要性事务是为了实现软件容错的。现在没有一直都能运行而不出错的软件,当一个产品化的计算机系统由于软件问题崩溃,它的使用者并不会等到软件开发者来将此问题更正之后,才使用它,而是重启系统,希望这它下一次能运行起来,原因是因为它毕竟昨天被使用过。而系统通过用事务,系统恢复到最近的一个状态。软件故障是系统失败的主要来源,因为其他硬件上的故障都是被软件屏蔽掉的。软件故障是一个没有解决的问题。软件容错主要有两种方法:N版本程序设计和事务。两种方法一般可结合起来使用。数据库是用来管理大量数据的,它肯定会存在软件上的故障,此时只能是通过事务来使它内部的数据不会因为软件故障而被全部破坏掉。用N版本程序设计,它的实现和维护是昂贵的。这是因为要得到占大多数的结果,N至少是3。2.3事务的模型2.3.1扁平事务该模型是所有事务类型中最简单的一种。扁平事务中的所有操作是处于同一平面的,由一个Begin_Work()来标志开始,Commit_Work结束。这个原因使这种事务在执行之后的结果只有两种,除此之外没有其它的结果。一是全做,二是全不做。对

      6、于后者来说,原因有两个:一是事务放弃,一是外界的事件使其不能完成。因此它具有“要么全做,要么全不做”的特性。2.3.2带保存点的扁平事务系统在执行过程出错了,但是在一些情况下并不是所有的操作都无效的,如果使用前面的扁平事务,所有的操作都将回滚,这样做带来的结果是,一些不需要回滚的操作也被回滚了,代价也较大。如果是回到同一事务里面的较早状态,就能较好的支持了这类应用。所以在这种模型中设置保存点。2.3.3链事务链事务是保存点模式的一种变种。由前一个事务来触发后一个事务发生。2.3.4嵌套事务嵌套事务的定义有五点:1)嵌套事务是若干事务组成的一棵树,子树既可以是嵌套的,也可以是扁平事务。2)处在叶节点的事务是扁平事务。从根节点到叶节点通过的路径不同所经过的距离也是不同的。3)位于要节点的事务称为顶层事务,其他的事务称为子事务。事务的前驱被称为父(事务),事务的后继被称为子(事务)。4)子事务既可以提交,也可以回滚。直到父事务提交后,子事务的提交才会生效。所以,任何子事务只有在根事务提交后才能最终提交。5)树中的任意一个事务的回滚会引起它的所有子事务一同回滚。正是因为这一点,子事务仅保留了A

      7、、C、I特性,而不具有D特性。2.3.5分布事务分布事务一般是扁平事务,它应用于分布环境下,因此必须根据数据的位置来访问网络中的节点。2.3.6长事务以上所有介绍的事务模型都存在一个问题,一个比较大的批事务在前面几个事务模型里不能完美的解决掉。解决这个典型问题的方法一般是由执行一系列更新少量数据的事务构成,整个事务的原子性通过在数据库中的事务上下文数据来维持。上下文是空集的程序被称为上下文无关,其他的被称为上下文相关。影响了数据库的上下文的原因是因为其他的事务更新了数据库。2.3.7多级别事务Tselectinsertupdateselect插入元组插入B树项更新页插入地址表项定位插入项图1一个多级别事务的模型图多级别事务是嵌套事务的一般化和更自由化的版本。它们允许了子事务先提交,这使单独回滚子事务的修改是可能的。然而为了保证事务的四个特性。最终会假设存在一个补偿事务,如果父事务决定(或被迫)回滚,补偿事务就可以取消子事务已经完成的。的补偿事务可以是另外的嵌套事务和多级事务。因为这些补偿事务可以在所有嵌套层次被执行,这样就保证了所有的更新都可以被撤消,即使是在根节点失败之前所有子事务已

      8、经提交了的操作。因为这种模型使层次化对象实现模式允许通过隔离高层对象来保护较低层次上的修改,所以它具有所有的ACID特性。这样实现了对根事务的隔离,因此使原子地执行根事务成为可能。在数据库系统限制的情况下,这种多级别事务足够用了。虽然回滚时,执行补偿操作的代价要比仅仅存储旧值昂贵,但是回滚并不是一个频繁的操作,拥有更小的提交控制单元的好处就会远远超过补偿的代价。2.4事务处理系统的定义从不同的角度来认识事务处理系统,因为每一个角度看到的系统都是很不同的,很难对事务处理系统做一个定义。给出一个综合的定义是:事务处理系统提供工具使广泛应用的编程、执行和管理更加容易或者自动化。事务处理应用一般都支持多个设备组成的网络,这些设备可以把查询和更新请求提交给应用。在这些输入的基础上,应用维护着一些表示现实世界特定状态的数据库。应用研究的响应和输出总是驱使着现实世界的传动器和转换器,而它们改变和控制着这些状态。3事务处理系统的各模块的核心服务和功能首先来看一下,一个事务的执行过程:3.1一个事务的执行过程 图2事务执行过程中的核心服务当一个事务发出了Begin_Work()命令时,将在事务管理器中注册该事务并产生一个唯一的事务标识符。一个应用一旦开始了一个事务,它就可以开始调用数据库,并且把请求发送给本地和远程服务。当一个资源管理器得到该事务的第一个请求时,它就加入到事务中,告知本地的事务管理器它想参与此事务的提交和回滚。参与一个事务的资源管理器通常有多个。由于这些资源管理器代表着事务执行操作,所以它们把自已对对象所做的改变都记下来。作为一个规则,资源管理器记录新旧对象值。事务处理系统提供了一个日志服务记录这些改变。日志管理器有效地实施了一个顺序文件,里面记录了事务对对象的所有更新。当然,其他的资源管理器要告诉日志管理器这些更新是什么。为了提供隔离,资源管理器将封锁事务存取的对象;这防止了其他事务看到本事务没有提交的更新,也防止它们更改该未提交的事务所读写的数据。事务处理系统提供了一个封锁管理器供其他资源管理器使用。当事务发出Commit_Work()命令时,事务管理器将执行两阶段提交协议。首先它查询所有参与该事务的资源管理器,问它们是否认为该事务是一个一致的和完整的转变。当任一个资源管理器加以否决时,提交就失败了。但是如果所有的资源管理器都赞同,事务管理器将在日志中记

      《数据库中事务处理的设计》由会员ni****g分享,可在线阅读,更多相关《数据库中事务处理的设计》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.