千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 事务并发控制s2pl和s2pl有何区别?

事务并发控制s2pl和s2pl有何区别?

来源:千锋教育
发布人:xqq
时间: 2023-10-13 17:20:34 1697188834

一、事务并发控制s2pl和s2pl有何区别

2PL(2 Phase Locking), 锁分两阶段,一阶段申请,一阶段释放;S2PL(Strict 2PL),在2PL的基础上,写锁保持到事务结束;SS2PL( Strong 2PL),在2PL的基础上,读写锁都保持到事务结束;Gen(SS2PL) ⊂ Gen(S2PL) ⊂ Gen(2PL),

Gen(XXX)表式生成的history/schedule。

简单来说2PL无法保证事务是可恢复的。 这就是常见的脏读异常,即读到未提交事务的数据,如果该未提交事务中止,则会导致已提交事务的状态不可靠。但注意,实际上这里的错误错在事务T2不该提交,而不是读了未提交事务(也可以读了不提交)。

为了避免这一点,引入了调度的可恢复性,即如果事务Ti从事务Tj中读到了元素x,在事务Ti提交前,事务Tj必须已提交。

保证了可恢复性的调度才是正确的调度。进一步为了简化恢复难度,有更高的级别,比如避免级联中止(avoid cascading abort),严格(strict)。

其中严格能保证事务中止的隔离性,即事务中止只需要独立地撤销自己的修改,不需要管其他事务。

而严格性在2PL中的实现,实际上就是持有写锁直至事务提交。

延伸阅读:

二、什么是数据库

数据库就是英文的“database”翻译来的,data + base,故名思义就是数据的根源,数据的基础。那么为什么要有数据库呢,数据库首先是个计算机软件,在所谓数据库诞生之前,常用方法可能是程序员自己写一个小程序来完成数据处理分析这样的工作。

伴随着计算机的普及,越来越多的场景开始使用计算机,产生了越来越多的数据,也催生了越来越多的数据分析需求。为了降低数据分析的门槛,让更多人能够更方便高效地管理分析数据,工程师们就打造了一种专门的软件来帮助人们对数据进行合理的存储以提高存取效率,提供易用的接口和丰富的分析算法以方便使用,集成有效的管理工具以提高数据安全性等等,这就是数据库,也被称为数据库管理系统(DBMS,Database management system)。

数据库是一整套数据管理体系,包括数据存储的模型、数据组织的架构、数据分析的算法、数据管理的工具以及数据访问的接口等等。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT