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

400-811-9990
手机站
千锋教育

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

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

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

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:合肥千锋IT培训  >  技术干货  >  事务并发控制s2pl和s2pl有何区别?

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

来源:千锋教育
发布人:xqq
时间: 2023-10-18 11:59:02

一、事务并发控制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)。

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

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

常用JS前端开发框架有哪些?

2023-10-18

读写分离为什么能够提升性能?

2023-10-18

为什么noteexpress不能建立数据库也不能打开别的数据库?

2023-10-18

最新文章NEW

为什么mysql innodDB中组合索引中范围查询后的条件索引会失效?

2023-10-18

QQ这种大型数据库是怎么实现数据瞬间查询的?

2023-10-18

网站使用大带宽服务器有什么好处?

2023-10-18

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>