当多个事务在数据库中并发执行时,数据的一致性可能受到破坏。系统有必要控制各事务之间的相互作用,这是通过并发控制机制的多种机制中的一种来实现的。
避免事务"饿死",授权加锁的条件:不存在在数据项Q上持有与M型锁冲突的锁的其他事务;不存在等待对数据项Q加锁且先于Ti申请加锁的事务。
常用的机制是各种封锁协议,时间戳排序,有效性检查,多版本机制。
封锁协议是一组阐明了事务合适对数据库中的数据项加锁解锁的规则。两阶段封锁协议仅在一个事务未曾释放任何数据项时允许该事务封锁新数据项。该协议保证可串行性,但不能避免死锁。在缺少有关数据项存取方式的信息是,两阶段封锁协议对保证可串行化来说不仅是必要的而且是充分的。
树形协议规则:1、Ti的首次加锁可以对任何数据项进行。2、此后Ti对数据项Q加锁的前提是Ti持有Q的父项上的锁。3、对数据项解锁可以随时进行。4、数据项被Ti加锁并解锁后,Ti不能再对该数据项加锁。
时间戳排序机制通过事先在每对事务之间选择一个顺序来保证可串行性。系统中的每个事务对应一个唯一的固定的时间戳。事务的时间戳决定了事务的可串行化顺序。这样,如果事务Ti的时间戳小于事务Tj时间戳,则该机制保证产生的调度等价于事务Ti出现在事务Tj之前的一个串行调度。该机制通过回滚违反该次序的事务来保证这一点。
Thomas写规则:假设事务Ti发出write(Q)操作:
1、若TS(Ti)<R-timestamp(Q),则Ti产生的Q值是先前所需要的值,但系统已假定该值不会被产生。因此,write操作被拒绝,Ti回滚。
2、若TS(Ti)<W-timestamp(Q),则Ti试图写入的Q值已过时。因此,这个write操作可悲忽略。
3、其它情况是执行write操作,将W-timestamp(Q)视为TS(Ti)。
在大部分事务是只读事务,这样事务见冲突频度较低的情形下,有效性检查机制是一个适当的并发控制机制。系统中的每个事务对应一个唯一的固定的时间戳,串行性次序是由事务的时间戳决定的。在该机制中,事务不会被延迟。不过,事务要完成必须通过有效性检查,如果事务未通过有效性检查,则盖世五回滚到初始状态。
某些情况下把多个数据项聚为一组,将它们作为聚集数据项来处理效果可能更好,这就导致了多级粒度。小数据项嵌套于大数据项之中。这种层次结果可以图形化地表示为树。封锁按从根结点到叶结点的顺序进行,解锁则按从叶结点到根结点的顺序进行。
多版本并发控制机制基于每个事务写数据项时为该数据项创建一个新版本。读操作发出时,系统选择其中的一个版本进行读取。利用时间戳,并发控制机制保证确保可串行性的方式选取要读取的版本。
多版本最常用的技术是时间戳。对于系统中的每个事务Ti,我们将一个静态的唯一的时间戳与之关联,即为TS(Ti)。对于每个数据项Q,有一个版本序列<Q1,Q2,…Qm>与之关联。
防止死锁的一种方法是使用抢占与事务回滚;另一种方法是死锁检测与恢复机制。系统处于死锁状态当且仅当等待图中包含环
转自:http://www.cnblogs.com/ceys/archive/2012/03/16/2400745.html
分享到:
相关推荐
2. **Java与大数据**:Java作为大数据处理的重要工具,其强大的并发处理能力和丰富的库资源使得它在大数据领域占据主导地位。书中详细讲解了如何使用Java进行数据采集、存储和处理,例如Hadoop和Spark等大数据框架的...
杜玉杰的《OpenStack在大数据方面的思考:技术、应用、生态系统》讨论了OpenStack云计算平台在大数据环境中的角色。OpenStack作为一个开源的云计算框架,如何支持大数据服务的部署和管理可能是演讲的重点。 《Spark...
【大数据时代医院护理管理创新发展的思考】 随着大数据技术的飞速发展,医院护理管理也面临着前所未有的变革。在这个时代,单纯依赖传统的人工管理方式已无法满足高效、精确的医疗需求。大数据不仅改变了护理管理的...
1. **面试问题**:包括Java基础、多线程、并发控制、垃圾回收机制等,以及大数据相关的问题,如Hadoop架构、MapReduce工作原理、Spark的优缺点等。 2. **案例分析**:讨论过去的项目经验,展示解决问题的能力和思考...
MaxCompute是阿里云推出的一款大数据处理服务,专为大规模数据计算而设计,具有高扩展性、高并发性和低成本的优势。在公有云环境中,多租户设计是MaxCompute实现资源隔离和服务安全的关键特性。这份文档可能详细阐述...
3. 风险控制:基于大数据的风控模型,企业能及时发现潜在风险,降低经营风险。 五、未来展望 随着5G、物联网(IoT)等新技术的发展,MaxCompute将继续升级其多租户设计,提升数据处理能力,进一步推动工业互联网的...
并发控制机制如锁、多版本并发控制(MVCC)和两阶段提交等,确保了数据的正确性。 10. **备份与恢复**:数据库备份是为了防止数据丢失,恢复则是将数据库从错误状态恢复到已知的正常状态。常见的备份策略有全备、...
- **区别**:线程安全性和并发控制机制不同。 - **细节**:如`ConcurrentHashMap`的分段锁机制和容量调整策略。 8. **G1垃圾回收器原理** - G1(Garbage First)是一种面向服务端应用的垃圾收集器,旨在提供可...
每个任务都有明确的知识目标和能力目标,如Scala入门涉及环境配置、基本语法,而并发编程则涉及Actor模型和并发控制。 在实践教学方面,课程设置了16个学时,占比25%,让学生通过实际操作加深对理论知识的理解。...
在本案例中,我们使用C#语言来解决这一问题,采用进程交互法,通过批均值法和重复删除法进行数据处理和分析,以确保并发控制的正确性。 一、哲学家就餐问题概述 在Dijkstra的原始问题中,有五个哲学家围坐在一张...
* 在智能检测中的应用:基于 5G 的数据分析检测体现在工厂的生产制造中,处于底层的传感器每天都会产生庞大的数据量,基于 5G 的海量网络技术,通过大数据并发,合理处理和运用数据,建立专家库系统,基于数据分析...
总之,这篇论文详细阐述了 Extreme 数据库在构建实时控制系统中的应用,不仅提供了理论基础,还包含了丰富的实践经验和未来研究的思考,对于理解和掌握实时数据库技术及其在实际应用中的价值具有重要的参考价值。
基于5G的数据分析检测体现在工厂的生产制造中,处于底层的传感器每天都会产生庞大的数据量,基于5G的海量网络技术,通过大数据并发,合理处理和运用数据,建立专家库系统,基于数据分析物料缺陷,实现5G的智能检测。...
基于5G的数据分析检测体现在工厂的生产制造中,处于底层的传感器每天都会产生庞大的数据量,基于5G的海量网络技术,通过大数据并发,合理处理和运用数据,建立专家库系统,基于数据分析物料缺陷,实现5G的智能检测。...
基于5G的数据分析检测体现在工厂的生产制造中,处于底层的传感器每天都会产生庞大的数据量,基于5G的海量网络技术,通过大数据并发,合理处理和运用数据,建立专家库系统,基于数据分析物料缺陷,实现5G的智能检测。...
这包括但不限于:变量、数据类型、运算符、流程控制语句(如if、switch、for、while)、类与对象(封装、继承、多态)、接口、异常处理等。理解并能灵活运用这些基础知识是成为一名合格Java开发者的前提。 其次,...
PPT可能涉及索引优化、查询优化、并发控制等技术,以及如何通过硬件升级、架构调整等方式提升数据库性能。 5. **数据库安全性**:随着数据价值的提升,数据库安全愈发重要。PPT可能涵盖数据加密、访问控制、审计...
数据库系统通过锁机制、事务隔离级别等技术来实现事务并发的控制,确保多个事务之间不会产生冲突和干扰。 分布式数据库系统是指数据库分布在不同的物理地点,通过网络连接在一起协同工作的系统。分布式数据库系统...
书中介绍了线程同步、锁机制和并发控制策略。 4. **大数据处理**:面对大数据时代的挑战,书中讨论了分布式计算、流处理和数据挖掘等话题。 5. **编程语言新趋势**:探讨了当时的新技术,如Java和C++,以及后来的...
2. **事务与并发控制**:讲解了ACID属性、事务隔离级别、死锁检测与解决策略,以及MVCC(多版本并发控制)的概念。 3. **复制与高可用**:涵盖主从复制、半同步复制、多源复制,以及主主复制等高可用架构设计。 4....