Mongodb的锁 原子性 隔离性 一致性】的更多相关文章

读写锁 Mongodb使用读写锁来来控制并发操作: 当进行读操作的时候会加读锁,这个时候其他读操作可以也获得读锁.但是不能或者写锁. 当进行写操作的时候会加写锁,这个时候不能进行其他的读操作和写操作. 所以按照这个道理,是不会出现同时修改同一个文档(如执行++操作)导致数据出错的情况. 而且按照这个道理,因为写操作会阻塞读操作,所以是不会出现脏读的. 但是mongodb在分片和复制集的时候会产生脏读,后面在研究. 读写锁的粒度: 在2.2之前的版本,一个mongodb实例一个写锁,多个读锁,在2…
读写锁 Mongodb使用读写锁来来控制并发操作: 当进行读操作的时候会加读锁,这个时候其他读操作可以也获得读锁.但是不能或者写锁. 当进行写操作的时候会加写锁,这个时候不能进行其他的读操作和写操作. 所以按照这个道理,是不会出现同时修改同一个文档(如执行++操作)导致数据出错的情况. 而且按照这个道理,因为写操作会阻塞读操作,所以是不会出现脏读的. 但是mongodb在分片和复制集的时候会产生脏读,后面在研究. 读写锁的粒度: 在2.2之前的版本,一个mongodb实例一个写锁,多个读锁,在2…
数据库ACID 一致性 原子性  隔离性  持久性 隔离性: 1.读未提交 2.读已提交 3.可重复读 4.串行 读未提交:容易引起脏读 读已提交:容易引起幻读(前后读到的行数不一致) 场景: A事务在读取到一行记录后,B事务在该业务操作相关执行了增加或删除操作,且提交,此时A事务再次查询之前的记录时发现前后行数不一致 可重复读:容易引起不可重复读(同一条记录,前后读取不一致) 串行:效率过低…
一.事务 定义:所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位. 准备工作:为了说明事务的ACID原理,我们使用银行账户及资金管理的案例进行分析. [sql] view plaincopyprint? // 创建数据库 create table account( idint primary key not null, namevarchar(40), moneydouble ); // 有两个人开户并存钱 insert into account valu…
https://en.wikipedia.org/wiki/ACID https://zh.wikipedia.org/wiki/ACID //ACID compliant , row-level locking , FOREIGN KEY  行锁 表锁 //a small footprint , Table-level locking limits the performance in read/write workloads, so it is often used in read-only…
事务的四大属性ACID即事务的原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability.. 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. 一致性(Consistency) 事务必须使数据库从一个一致性状态变换到另外一个一致性状态. 隔离性(Isolation) 事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并…
ACID特性: 原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability) 原子性:一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,事务要么成功(可见),要么失败(不可见),不存在事务部分成功的情况.对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性. 一致性:数据库总是从一个一致性的状态转换到另一个一致性的状态.数据库在事务开始前和结束后都应该是一致的. 隔离…
博客分类: oracle-dba   原子性  多个事情组成一个单元,要么同时成功或失败,不能只运行其中一个 一致性  事务处理要将数据库从一种状态转变为另一种状态. 一旦提交了修改数据,那么其它人读取这个数据,也是被修改后的数据 隔离性  在事务处理提交之前,事务处理的效果不能由系统中其它事务处理 多个用户,不能同时读写同一个数据,应该有先后顺序,在数据库中是一个一 个事件地运行,如果事件的条件不满足,后续事件就回滚 持久性  事件一旦提交成功,数据就发生了变化 例如: 网上定票系统,扣钱和定…
1.四大特性 1.1 原子性(Atomicity) 一个事务是不可分割的最小工作单位.一个事务是不可分割的最小工作单位. 利用undo log保证原子性,undo log记录的是操作的反向语句,例如执行的insert语句,则undo log记录的是delete语句. 1.2 一致性(Consistency): 事务执行前后的数据,必须保持一致. 利用redo log保证持久性,需要注意redo log和binlog的一致性.为了保证一致性,mysql的内部存在XA事务,俗称日志的两阶段提交协议.…
一.Actor模型介绍 在单核 CPU 发展已经达到一个瓶颈的今天,要增加硬件的速度更多的是增加 CPU 核的数目.而针对这种情况,要使我们的程序运行效率提高,那么也应该从并发方面入手.传统的多线程方法又极其容易出现 Bug 而难以维护,不过别担心,今天将要介绍另一种并发的模式能一定程度解决这些问题,那就是 Actor 模型. Actor 模型其实就是定义一组规则,这些规则规定了一组系统中各个模块如何交互及回应.在一个 Actor 系统中,Actor 是最小的单元模块,系统由多个 Actor 组…