美文网首页
数据访问中的并发

数据访问中的并发

作者: 猴猴猪027 | 来源:发表于2017-01-10 16:42 被阅读0次

数据库并发情况(database-level concurrency)

lost update 第一类丢失更新
第一类丢失更新

事务A的回滚导致事务B的更新失败。

时序图:

lost update
last commit wins 第二类丢失更新

事务A已经完成,事务B完成后覆盖了事务A的结果:

第二类丢失更新

时序图:

last commit wins
dirty read 脏读

事务A还没有提交的情况下事务B读取,读取完之后事务A回滚

脏读

时序图:

dirty read
unreapetable read 不可重复读

在事务A的两次读取中事务B写了相应的数据

不可重复读

时序图:

unrepeatable read
phantom read 虚读

虚读与不可重读类似,都是在两次读取中另外的事务做了操作,不过这里的是insert或者delete导致两次查询结果集数量都不同

虚读

时序图:

phantom read

参考文献:

  1. Java Persistence with Hibernate. Manning. 2nd Edition. Gavin King&Gary Gregory

相关文章

  • MySQL中的锁2-事务隔离级别

    数据库中并发存在的问题 数据库能够让应用程序并发访问,在并发访问数据库实例过程中可能会出现以下4种现象。 丢失更新...

  • 数据访问中的并发

    数据库并发情况(database-level concurrency) lost update 第一类丢失更新 事...

  • 数据库-并发调度(未完结)

    数据库 • 数据库的并发调度 由于数据库中的数据具备共享性,所以数据库中的数据就支持了多个用户的访问 • 并发调度...

  • IOS 数据源同步问题方案

    目的 解决UI刷新错乱的问题 解决方案 1.并发访问 数据拷贝 2.串行访问 并发访问 数据拷贝 也就是说 数据拷...

  • 【译】PostgreSQL 14 B-Tree Index:通过

    前言 对 PostgreSQL 中数据的并发访问由多版本并发控制 (MVCC) 模型管理。 为每个 SQL 语句维...

  • redis并发控制

    Redis应对并发问题 并发访问 redis的并发访问,是指多个客户端,对同一份数据进行修改。并发访问控制对应的操...

  • mysql锁

    在数据库中设计锁的目的是为了处理并发问题,在并发对资源进行访问时,数据库要合理控制对资源的访问规则。 而锁就是用来...

  • ThreadLocal 理解与应用

    ThreadLocal 理解与应用 在并发编程中,我们主要考虑的问题是多个线程对于共享数据的访问,并在访问共享数据...

  • 一文理解Mysql MVCC

    MVCC 就是多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问。 为...

  • MVCC

    MCC是什么? (multiversion concurrency control:多版本并发控制) 并发访问数据...

网友评论

      本文标题:数据访问中的并发

      本文链接:https://www.haomeiwen.com/subject/xyokbttx.html