《云数据管理:挑战与机遇》2.3.2 并发控制

本节书摘来自华章出版社《云数据管理》一书中的第2章,第3节,作者迪卫艾肯特·阿格拉沃尔,更多章节内容可以访问“华章计算机”公众号查看

并发控制

并发控制协议必须能够保证冲突可串行性。并发控制协议一般可以分为悲观协议(pessimistic protocol)和乐观协议(optimistic
protocol)两种,悲观协议使用锁来避免错误的操作,而乐观协议是在提交阶段采用验证器(certifier或validator)来保证正确性。一般情况下,从技术的角度来看,任何并发控制协议都可以很容易地扩展到分布式环境中。

封锁协议

对于每一个操作,事务(或并发控制调度器)都会申请一个锁,每个锁都有两种模式:读和写。两个读锁是相容的,而两个写锁或者一个读锁和一个写锁是不相容的。如果一个数据项没有以不相容的模式封锁,那么该数据项就可以授予锁。否则,存在一个锁冲突,并且事务处于封锁状态(会经历锁等待)直到当前的锁持有者释放锁。一个操作执行完成后,相应的锁就会被释放。锁本身不足以保证正确性。两段锁协议增加了下列条件,以下条件足以保证冲突可串行性[Eswaran et al., 1976]:

一旦一个事务释放了一个锁,该事务不能随即获取任何数据项的任何其他锁。

图2-9显示,在扩展阶段,事务所需要的锁的数量不断增加,在收缩阶段,锁的数据逐渐减少。

 

图2-9 两段锁

两段锁在很多商业化系统中广受欢迎,尤其是严格版本,在事务结束之前(即提交或中断),保留所有的锁。然而,两段锁可能会出现死锁。而且由于冲突操作的存在,数据项队列可能导致数据冲突。这种冲突可能导致系统抖动(在常规多道程序设计系统中,资源冲突一般是由内存、处理器、I/O通道引起的,而不是数据引起的冲突)。

乐观协议

如上所述,封锁可能造成长时间的资源阻塞。乐观并发控制协议可以允许事务执行所有操作,并使用验证方法来判断其他事务是否执行了冲突操作,通过这种方式可以有效避免这种阻塞。最简单的情况是,事务t1执行其所有操作(写操作会导致本地缓存更新)。当事务提交时,调度器会检查是否有活动的事务执行了冲突操作,如果有,就中止t1。

Kung and Robinson [1981]对上述简单思想进行了扩展,通过三个阶段来执行每个事务t1:

读阶段。在该阶段,事务可以无限制地读取任何对象,而写是本地的。

验证阶段。在该节点,调度器通过检查所有的并发事务t2从而确保没有冲突发生,即可以检查事务t2在其写阶段进行写操作的对象集合与事务t1在其读阶段进行读操作的对象集合是否重叠,如果有重叠,则中止t1。

写阶段。验证成功以后,值可以写入数据库中。

简单的正确性证明显示乐观并发控制可以确保事务的可串行化执行。该协议出现了很多种变体,而且由于乐观协议在数据资源上不会产生排它锁,因此,乐观协议在云计算环境中的应用越来越广泛

时间: 2024-09-20 09:05:18

《云数据管理:挑战与机遇》2.3.2 并发控制的相关文章

京颐医疗云产品总监柏鹏:云转型布局未来,我们是如何应对医疗云的挑战与机遇

[现场视频]京颐医疗云产品总监柏鹏:云转型布局未来,我们是如何应对医疗云的挑战与机遇,点此观看视频→https://yq.aliyun.com/video/play/1172 摘要:在9月7日云栖专家"走进京颐"线下活动中,京颐医疗云事业部产品总监柏鹏为大家分享了目前中国医疗云的前景概况,简单介绍了京颐医疗云,并且对于大数据以及互联网+与医疗云的融合和应用进行了分享,错过了线下活动的小伙伴们,不要错过本文哦~ 本文内容根据演讲专家音频材料以及PPT整理而成. 京颐医疗云产品总监柏鹏认为

《云数据管理:挑战与机遇》分布式数据管理

本节书摘来自华章出版社<云数据管理:挑战与机遇>一书中的第1章,第2节,作者迪卫艾肯特·阿格拉沃尔(Divyakant Agrawal) 苏迪皮托·达斯(Sudipto Das)阿姆鲁·埃尔·阿巴迪(Amr El Abbadi),更多章节内容可以访问"华章计算机"公众号查看. 分布式数据管理 云计算建立在过去几十年计算机科学领域,尤其是在分布式计算和分布式数据管理领域积累的重要概念.协议和模型的基础上.本章主要讨论分布式系统和数据管理的基本背景,其构成了云数据库系统的基础.

《云数据管理:挑战与机遇》 简介

本节书摘来自华章出版社<云数据管理:挑战与机遇>一书中的第1章,第1节,作者迪卫艾肯特·阿格拉沃尔(Divyakant Agrawal) 苏迪皮托·达斯(Sudipto Das)阿姆鲁·埃尔·阿巴迪(Amr El Abbadi),更多章节内容可以访问"华章计算机"公众号查看. 简 介 当代技术的快速发展导致大规模数据中心(也称为云)中的用户应用.服务和数据的数量急剧增加.云计算已经使得计算基础设施商品化,就像日常生活中的许多其他实用工具一样,并且大大减少了创新型应用及其大规

《云数据管理:挑战与机遇》一第一章

|第1章 简 介 当代技术的快速发展导致大规模数据中心(也称为云)中的用户应用.服务和数据的数量急剧增加.云计算已经使得计算基础设施商品化,就像日常生活中的许多其他实用工具一样,并且大大减少了创新型应用及其大规模部署之间的基础设施障碍,从而可以支持分布在世界各地的大规模用户.在云计算出现之前,对一个拥有大规模用户群的新应用的市场验证,往往需要在计算基础设施方面进行大规模前期投资才能使得应用可用.由于云基础设施的即用即付收费机制和弹性特征,即根据工作负载动态地增加或减少服务器数量,大部分基础设施风

《云数据管理:挑战与机遇》导读

前 言| 大数据和云计算是研究文献和主流媒体中大量使用的两个术语.当我们走进云计算和数据洪流的时代,经常被问到的一个问题是:云数据管理中的新挑战是什么?本书就是由我们寻求回答这个问题发展而来,并使我们自己对这一问题有了更为深入的理解.本书首先介绍了一些初步的综述性论文,这些综述论文总结了适合键–值存储系统的主要设计原则,这些系统如谷歌的Bigtable.亚马逊的Dynamo和雅虎的PNUTS,通过在一个数据中心或者有可能在世界不同地方的多个数据中心中部署成千上万台服务器来达到前所未有的规模.由于

《云数据管理:挑战与机遇》2.1 导读

<云数据管理>2.1逻辑时间和Lamport时钟 大数据和云计算是研究文献和主流媒体中大量使用的两个术语.当我们走进云计算和数据洪流的时代,经常被问到的一个问题是:云数据管理中的新挑战是什么?本书就是由我们寻求回答这个问题发展而来,并使我们自己对这一问题有了更为深入的理解.本书首先介绍了一些初步的综述性论文,这些综述论文总结了适合键–值存储系统的主要设计原则,这些系统如谷歌的Bigtable.亚马逊的Dynamo和雅虎的PNUTS,通过在一个数据中心或者有可能在世界不同地方的多个数据中心中部署

《云数据管理:挑战与机遇》一第1章

|第1章 简 介 当代技术的快速发展导致大规模数据中心(也称为云)中的用户应用.服务和数据的数量急剧增加.云计算已经使得计算基础设施商品化,就像日常生活中的许多其他实用工具一样,并且大大减少了创新型应用及其大规模部署之间的基础设施障碍,从而可以支持分布在世界各地的大规模用户.在云计算出现之前,对一个拥有大规模用户群的新应用的市场验证,往往需要在计算基础设施方面进行大规模前期投资才能使得应用可用.由于云基础设施的即用即付收费机制和弹性特征,即根据工作负载动态地增加或减少服务器数量,大部分基础设施风

《云数据管理:挑战与机遇》2.1.7 CAP理论

本节书摘来自华章出版社<云数据管理>一书中的第2章,第1节,作者迪卫艾肯特·阿格拉沃尔,更多章节内容可以访问"华章计算机"公众号查看 CAP理论 Brewer[2000]提出了下列理论,后来由Gilbert and Lynch[2002]加以证明:一个分布式共享数据系统最多同时满足下列三个属性中的两种: 一致性(C) 可用性(A) 网络分区容忍性(P) 该理论就是著名的CAP理论.一般情况下,大规模云数据中心的分布式系统需要支持分区,以便能够处理大规模操作.此时,在进行网络

《云数据管理:挑战与机遇》2.1 向量时钟

本节书摘来自华章出版社<云数据管理>一书中的第2章,第1节,作者迪卫艾肯特·阿格拉沃尔,更多章节内容可以访问"华章计算机"公众号查看 2.1.2 向量时钟 逻辑时钟可以捕获潜在的因果关系,但是,这并不意味着一定有因果关系,逻辑时钟条件只是一个必要条件,并不是充分条件.分布式系统中的所有事件可能需要一个更强的时钟条件: e→f当且仅当clock(e)<clock(f). 该条件可按如下方式实现:为每一进程i赋一个长度为n的向量Vi,n是系统中所有进程的数量.每一个执行的

《云数据管理:挑战与机遇》2.1.3 互斥和仲裁集

本节书摘来自华章出版社<云数据管理>一书中的第2章,第1节,作者迪卫艾肯特·阿格拉沃尔,更多章节内容可以访问"华章计算机"公众号查看 互斥和仲裁集 互斥是并发进程访问共享资源时涉及的一个基本概念.互斥是操作系统中的一个重要操作,后来也被扩展到数据库中.互斥可以按照如下方式进行定义:给定一个进程集合和一个单独的资源,开发一种协议,该协议可以确保在同一时间,一个资源只能被一个进程进行排他性访问.针对集中式系统和分布式系统都已经提出了多种解决方案.针对分布式互斥问题的一种简单的集