深挖数据库事务隔离性

这篇主要介绍数据库事务中的隔离性,全篇从大概念入手到数据库事务隔离性的一般设计理念以及要面对的挑战。

本篇纯码字,不过其中有区分很多博客上易混淆且常出错的概念,欢迎交流。

一,理解事务

事务是由一系列对系统中数据进行访问与更新的操作组成的一个程序执行逻辑单元。在数据库中,事务被赋予了更重要的意义:一方面数据库肯定要面对多并发的情况,多个应用程序同时发来请求,事务在这些应用程序中起到隔离的作用;另一方面事务也提供了回滚的能力,可以快速应对各种原因造成的事务失败,在尽量保证可用性的同时,提供服务的数据一致性。

假如,你想使用一个数据库服务。最开始你使用的是单机数据库(集中式系统),你开始设计你的数据库如何处理数据

经过大量的设计实践,我们总结了数据库事务的以下特性:我的这一系列操作希望给他封装成一个整体,要不全完成,要不不完成(原子性);事务如果因为什么原因中断,我们希望数据库的状态也是稳定一致的,而不是一半事务操作完的数据残留在数据库中(一致性);在并发环境中,各个事务即使操作相同数据也不相互干扰(隔离性);而且事务一旦提交,对数据库的改变我们希望是永久性的(持久性)

二,事务的隔离级别

我们着重关注在这里的事务隔离性(ACID中的隔离性)

并发环境中,事务不能互相干扰。为了保证不同事务操作数据时和其他事务是隔离的,互不干扰,在标准SQL规范中,定义了四个事务隔离级别,不

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值