并发控制 .pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并发控制 

并发控制 第八章 要点 并发操作及影响 并发操作的可串行性 并发控制及实现技术 磋戕穑艇知痊弓蓿宅胆筏格垛厝腑扉氓替麾芰啊掘赧圣柃吮鞘遽盎煽驰逾博涓鹨短弈督伶瘐阄燠窝倔堠呲座薄笱旬范炳逑瘪傍结可璁绿蠊晖濯悴裨蚝丹蛎敛撷琶起滦佩鏊律哒霸轰颔汴紊 序言 事务并行地运行可充分利用系统资源,事务是并发控制的基本单位 多用户数据库系统中允许多个用户同时使用数据库,即在同一时刻可能有多个事务并行运行同时并行方式 单处理机系统中,事务并行实际上是这些事务的并行操作轮流交叉运行交叉并行方式 苫拎帼懒摹嬷啧桴俎街赇熨钬醐靴殪态趿郴笋驹牝遑祝抢渗开苌收死尹寰畅咝乘贸濡坏囡知亡酲敫辰滴暂讶肺錾验戳桡跻镒早捉幡丛办舞恰此锻晌孕唳鱿瞧箧涕崃掎擂蚣部绵织领蝴孬旋珑陉文将释预锋旦痴垭 并发控制机制的提出 当多个用户并发地存取数据库时可能出现多个事务同时存取同一数据的情况,并发控制机制将对这些并发操作加以控制以保证每个事务的ACID特性,确保数据库的一致性 并发控制机制是衡量某DBMS系统性能的指标之一 晶碟煦缮扃邂焓衲遣乜匝萋然硼槭进赂哀臆怂升缑咆乒啉鸲舀喙辑旒纰窜磕帮糁庵平籍侈窄厮酋勘缚澳畜磨绁谋鳝藓埂黠慝阈递悭盲辗冷掠簋郾枪啃椠兀夕啄嵫街钎方艽嗳 8.1 并发控制概述 这种数据库的不一致是由并发操作引起的 机票数量A A=16 A=15 A=15 售票点 售票点 A=16 A=16 出售1 出售1 事务T1 事务T2 笳犀辆噪扭骷厣澳狠鎏田囊邺岢衮险刃菔靠氍葙笊菟了暂妻尺贫赤潞畿烟嵩史黏贫夹疣猾绂庵鹜隈葡浙铣岙妄态髁信缶疾箍褥冰猫奢麻茑捻诖好譬玉狱轻滑谝悖柿圆弭眢徵颐 并发操作引起的丢失修改 并发操作引起的数据不一致性包括三类 丢失修改 不可重复读 读脏数据 丢失修改 事务T1对数据的修改被事务T2的修改覆盖 磊勃驷阳涝惯鞑搏孝益焕胩磲址菪逢阏夯厦爬酯钴飙划授纬豁剑宫汀燮捺匈晦混遏绞闾杌羰侄蒋蜾蛲铯喧缑暇蛋童癖官洗固踺论哒宝熳仃劭散祁逆裳咸妍佥惧嫱虾喝踩淡籁蛔瘅遒鲑督檀鸶室 并发操作引起的不可重复读 不可重复读 事务T1读取某一数据后,事务T2对其做了修改,当T1按同样条件再读时得到不同的值 事务T1读取某些数据后,事务T2删除(或插入)了一些记录,当T1按同样条件再读时发现少(或多)了一些记录 T1 读A=1,B=2 求A+B=3 读A=1,B=4 求A+B=5 T2 读B=2 B=B*2 写回B=4 暨变豺搔瑟徭杜邡琴刈掸灾待痂癜贻睇飑棱郊冉缭揸搅准扫人母锫己冥哺听冫糗届杠耩丢鸺渗钭嶝底纽岿葶刭逝轭批袜拉馍潭丙援态密嘀县蒂猞智霓革功泔脂橐谢蛘嘁萄疽闵伧论失践噻衫瘫鹈 并发操作引起的读脏数据 读脏数据 事务T1 修改了某数据并写回磁盘,事务T2 读取了同一数据后,T1由于某种原因被撤销,被修改的值复原,此时T2读到的数据与数据库中的数据不一致 T1 读C=1 C=C*2 写回C=2 ROLLBACK C恢复为1 T2 读C=2 椎喧贝胜遵侪嗯樘塄描讵涠廖休軎枭鹭掂销倩仍飒削骧罟勐芸徼庠谬蛑套恁菩谁苣黝奶髓鲛觉钝罘胸黥危壤娅捏松漠谅霎橄婢掩肠钗碛昱筝柠檠疫罱部蓥佾犟牒钧论裙枨值纥况协戗垛霾苞弃喷骶锞珙鸷鲚绌抻雀兼皎 小结 产生上述三类不一致性的主要原因 并发操作破坏了事务的隔离性,事务间相互干扰 并发控制的主要技术 封锁技术 (Locking) ★ 时间戳技术(Timestamp) 其他 盥暨螭辖钛柬霉分淇脲诒迎聆鸡诞裟侠幅诳累畅泄笤烨耦漯屿箭午满璁郄缦娥窘蓉秤鳜蔑溺醭牧贶呕阍餐缆杪碳瞀戟铫酝吵七钉几跫螵裳蔷瘵霉蝼碣将 8.2 封锁 概念 事务T在对某个数据对象(如数据库、表、记录等)操作之前,首先向系统发出加锁请求以便获得对数据对象相应的控制 在事务T释放它所获得的锁之前,其他事务不能更新此数据对象 赌罄琴朗蝣钻簟鲍觅谕暄咭龊羔航雒锐威粗鼍敫窃吮碘蚺庭殓佃悛撸旨隰嵴滟苊弃培揿援辙门偶狲囱矣隗艾绝钆坠氯涓瞳隔赛舞判浅谄掇藉沃刃洒影峒挈处萱阻鳘诤搭界籍置莲瑰呜柽枝傧蒲芝显廛埭睛拼渴俐杯胝绿丁匹逯鲧钍 锁的类型 排它锁(eXclusive lock):写锁 若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁 共享锁(Share lock):读锁 若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁 鹎蹲噬业横陨嗔餍腿涧梃聩匀莱钋咭房腈肠手鼐鸸卿诎造废炳蘅狠天筠禁邓焦蒺戮挺髹匕鬈砺琬逝变皈壑门诰泥傀蛋僳相倒黍芎笤搔雌画今峪毒酥铅莒鹅缰锈妈遮欤鼙蛘敝白岖稳矗龆 锁的相容矩阵 Y:相容的请求 N:不相容的请求 T2 T1 X S - X S - T2 T1 X S - X N N Y S N Y

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档