`

事务的一致性理解

阅读更多
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
  保证数据库一致性是指当事务完成时,必须使所有数据都具有一致的状态。在关系型数据库中,所有的规则必须应用到事务的修改上,以便维护所有数据的完整性。
  保证数据库的一致性是数据库管理系统的一项功能.比如有两个表(员工\职位),员工表中有员工代码、姓名、职位代码等属性,职位表中有职位代码、职位名称、职位等级等属性。你在其中员工表中进行了插入操作,你插入了一个新员工的信息,而这个新员工的职位是公司新创建的一个职位。如果没有一致性的保证,就会出现有这么一个员工,但是不知道他到底担当什么职责!这个只是它的一个小小方面。
  读一致性也是数据库一致性的一个重要方面,在实际中,我们会遇到这种情况:我们对一个表中的某些数据进行了更新操作,,但是还没有进行提交,这时另外一个用户读取表中数据.这个时候就出现了读一致性的问题:到底是读什么时候的数据呢?是更新前的还是更新后的?在DBMS中设有临时表,它用来保存修改前的值,在没有进行提交前读取数据,会读取临时表中的数据,这样一来就保证了数据是一致的.(当前用户看到的是更新后的值)
  但是还有一种情况:用户user1对表进行了更新操作,用户user2在user1还没有进行提交前读表中数据,而且是大批量的读取(打个比方:耗时3分钟)而在这3分钟内user1进行了提交操作,那又会产生什么影响呢?这个时候怎么保证读写一致性呢?这个时候DBMS就要保证有足够大的临时表来存放修改前的数值,,以保证user2读取的数据是修改前的一致数据.然后下次再读取时候就是更新后的数据了
分享到:
评论

相关推荐

    深入理解分布式事务,高并发下分布式事务的解决方案

    本文来自于csdn,本文主要从分布式的原因,事务特性,和解决方案中深入理解了分布式事务,希望对您的学习有所帮助。...本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 2.1、数据库分库分表

    第八讲-分布式事务原理及应用.pdf

    事务必须是使数据库从一个一致性状态变到另一个一致性状态,事务的中间状态不能被观察到的  隔离性 一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔 离的,并发执行的...

    新美大MySQL数据一致性探索.zip

    该文档首先对数据一致性的重要性进行了阐述,然后详细介绍了在新美大的业务场景下,如何通过优化SQL语句、使用事务、设置合适的隔离级别等方式,保证数据的强一致性。同时,文档还探讨了分布式系统中的数据一致性...

    分布式事务.pdf

    这篇文章将介绍什么是分布式事务,分布式事务解决什么问题,对 分布式事务实现的难点,解决思路,不同场景下方案的选择,通过...务”、“最终一致性”、“TCC”等这些知识碎片,而是能够将知识连成一片,形成知识体系。

    MySQL 事务(五).pdf

    内容概要 这份PDF文档《MySQL事务(五).pdf》是关于MySQL数据库事务管理的深入指南,作为...后端开发者:在应用开发中需要执行事务操作以保证数据一致性。 数据分析师:在进行大量数据操作时需要使用事务来保证操作

    MySQL数据库:事务的概述、ACID.pptx

    不管事务是完全成功完成还是中途失败,当事务使系统处于一致的状态时存在一致性。 隔离性 隔离性是指每个事务在它自己的空间发生,和其他发生在系统中的事务隔离,而且事务的结果只有在它完全被执行时才能看到。即使...

    深入理解Java事务的原理与应用

    一致性表示 当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。持 久性表示已提交的数据在事务执行失败时,数据的...

    深入理解PHP+Mysql分布式事务与解决方案

    事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,...

    消息最终一致性方案,基于rabbitmq的分布式事务解决方案.zip

    方案提供了一个共同的框架,帮助团队成员理解各自的职责和任务,促进协作并确保整个团队朝着共同的目标努力。 监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案...

    算法, 数据结构, 多线程, 缓存, 分布式事务, 一致性协议, RPC等实现.zip

    算法特性:包括输入、输出、有穷性、确定性和可行性。即一个有效的算法必须能在有限步骤内结束,并且对于给定的输入产生唯一的确定输出。 算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序...

    数据库事务以及事务的隔离级别

     事务的四个属性:原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。  1.原子性(Atomic)  重要的原则,也是容易理解的原则。被事务管理的所有方法,要么一起被提交,...

    msyql锁、事务隔离级别各种场景验证测试.rar

    一致性(Consistent) :在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规 则都必须应用于事务的修改,以保持数据的完整性。(可以理解为抽象出来的内容同现实内容的相互映射关系要一致)。 C是...

    详述MySQL事务的实现原理

    相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的。本文来自搜狐,由火龙果软件Anna...

    分布式事务的七种实现方案汇总分析

    随着微服务的普及,...为了便于后文叙述,这里对ACID中的C(一致性)做一个强调:严格的事务一致性是使数据库从一个一致性状态变到另一个一致性状态,且事务中间状态不能被观察到。分布式事务的七种实现方案: 1、基

    一文教你理解MVCC多版本并发控制

    MVCC是一种并发控制机制,常用于数据库系统中,旨在解决并发读写操作可能引发的数据一致性问题。它通过在数据库中保存多个版本的数据,使得读操作不会被写操作所阻塞,从而提高了并发性能。 这份文件将深入介绍MVCC...

    MySQL数据库:事务隔离级别.pptx

    隔离性强制对事务进行某种程度的隔离,保证应用程序在事务中看到一致的数据。 MySQL提供了下面4种隔离级:序列化(SERIALIZABLE)、可重复读(REPEATABLE READ)、提交读(READ COMMITTED)、未提交读(READ ...

    Java理论和实践:理解JTS——幕后魔术

    本文讨论了事务并研究了它们的基本属性:原子性、一致性、孤立性和持久性。事务是企业应用程序的基本构件;没有它们,几乎不可能构建有容错能力的企业应用程序。幸运的是,Java 事务服务和 J2EE 容器自动为您做了大量...

    瞎掰事务(一):四大特性立体关系剖析

    四大特性ACID ...比较难理解的是一致性的表述。有一种补充解释是一致性保证的是从一种状态到另一种状态的一致维护,而保证不出现中间状态。当注意力放在中间状态时,一致性与隔离性的定义有重叠,当注意力

    分布式理论系列 论文汇总

    A brief history of Consensus, 2PC and Transaction Commit:关于一致性,2PC,事务 提交方面的文章的历史性综述。 Time, Clocks, and the Ordering of Events in a Distributed System:发表于 1978 年, 理解...

Global site tag (gtag.js) - Google Analytics