并发一致性问题

在并发环境下,事务的隔离性很难保证,因此会出现很多并发一致性问题。

丢失修改(修改被覆盖)

T1 和 T2 两个事务都对一个数据进行修改,T1 先修改,T2 随后修改,T2 的修改覆盖了 T1 的修改。

并发一致性问题

读脏数据(读到了撤销修改之前被修改的垃圾数据)

T1 修改一个数据,T2 随后读取这个数据。如果 T1 撤销了这次修改,那么 T2 读取的数据是脏数据。

并发一致性问题

不可重复读(读到的数据被修改了,第二次读不一样)

T2 读取一个数据,T1 对该数据做了修改。如果 T2 再次读取这个数据,此时读取的结果和第一次读取的结果不同

并发一致性问题

幻影读(两次相同读取范围的读取中被插入了新数据,范围内读取到的数据结果不同)

T1 读取某个范围的数据,T2 在这个范围内插入新的数据,T1 再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。

并发一致性问题

产生并发不一致性问题主要原因是破坏了事务的隔离性,解决方法是通过并发控制来保证隔离性。并发控制可以通过
封锁来实现,但是封锁操作需要用户自己控制,相当复杂。数据库管理系统提供了事务的隔离级别,让用户以一种更
轻松的方式处理并发一致性问题。

Original: https://www.cnblogs.com/mzBlogs/p/15078919.html
Author: 重生之我是java程序员
Title: 并发一致性问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/608502/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 分布式基础- 负载均衡

    前言 我理解只所以要分布式系统,无非两个原因数据和计算,单机系统无法保存这么大的数据量,所以要分布式系统来保存; 计算嘛,就是说单机计算无法达到性能要求,比如双十一一台机器肯定处理…

    Java 2023年5月30日
    0172
  • 基于SpringSecurity的@PreAuthorize实现自定义权限校验方法

    一、前言 在我们一般的web系统中必不可少的就是权限的配置,也有经典的 RBAC权限模型,是…

    Java 2023年6月15日
    083
  • POI的HSSFWorkbook、XSSFWorkbook和SXSSFWorkbook的区别是什么?

    摘抄自:https://www.cnblogs.com/skyislimit/articles/10514719.html Original: https://www.cnblog…

    Java 2023年6月8日
    094
  • 观察线程的状态

    public class ThreadState { public static void main(String[] args) { // 定义一个线程 Thread threa…

    Java 2023年6月13日
    0117
  • 基于css的一些动画

    最近因为期末复习周,博客更新鸽了很久,趁着考完试还记得这件事,把之前的大作业里出现过的css动画总结一下 这个图片原型是一个静态图 动画效果如下 .footer{ backgrou…

    Java 2023年6月8日
    091
  • 使用http代理,解决Java对外请求需固定ip问题

    背景:对接第三方接口,第三方为安全考虑,需要固定ip设置白名单。公司对外使用动态ip。 办法: 购买一台ip固定的服务器,比如云虚拟服务器。搭建http代理服务器,比如prioxy…

    Java 2023年5月29日
    085
  • jdk编译

    macos配置情况: jdk编译依赖比当前版本至少小一个版本的jdk版本,作为boot,jdk,boot jdk下载:https://jdk.java.net/17/: https…

    Java 2023年5月30日
    060
  • 教学日志:javaSE-java中的数据类型和运算符

    一、java中的标识符 /* 标识符的命名规范: 硬性要求: 1、必须以字母、_下划线、美元符$开头 2、其它部分可以是字母、下划线"_"、美元符"$…

    Java 2023年6月5日
    089
  • IntelliJ IDEA 2022年3月17日

    修改设置中编译器选项下的配置,并勾选下图红色框中的所有选项 2. 在高级设置中修改配置,并勾选下图红色框中的选项 IntelliJ IDEA激活码:https://docs.qq….

    Java 2023年6月7日
    086
  • MINIO使用

    1.作用 官网地址:https://docs.min.io/ 文件存储。文件对象的上传、下载和删除! 2.使用依赖 io.minio minio 8.4.3 3. 构建client…

    Java 2023年6月9日
    091
  • 正月十五吃汤圆CountDownLatch

    CountDownLatch实际应用 今天是正月十五,给大家拜个晚年啦! 元宵节是中国传统节日,吃汤圆不能少啊,今天我们统计下” 叫练“吃汤圆时间,并用代码…

    Java 2023年6月8日
    0102
  • 【Spring Boot】我的第一个Spring Boot练习

    背景 Spring 在 Java 生态的企业级开发项目中极其常用,通常我们为项目引入一项新技术时,不得不考虑如何将新技术 与 Spring 整合在一起。 我们知道,预研一项新技术,…

    Java 2023年5月29日
    092
  • Python模拟实现银行系统(平时的小练习)

    class Bankin_system: login = ”’ ******************************************** *** *** *** …

    Java 2023年6月9日
    094
  • Ceph集群搭建记录

    环境准备 基础环境 node00 192.168.247.144 node00 node01 192.168.247.135 node01 node02 192.168.247.1…

    Java 2023年6月10日
    0116
  • 通过Nginx获取用户真实IP

    nginx配置 如上面配置,接口需要使用的时候获取X-real-ip就可以,但是经过测试以后,发现X-real-ip并不是真实的用户IP,而是Nginx代理服务器的IP,原因就是经…

    Java 2023年5月30日
    098
  • 几个不错的可视化库

    Echarts highcharts 『注:本文来自博客园”小溪的博客”,若非声明均为原创内容,请勿用于商业用途,转载请注明出处http://www.cnb…

    Java 2023年6月16日
    078
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球