博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库事务
阅读量:6615 次
发布时间:2019-06-24

本文共 741 字,大约阅读时间需要 2 分钟。

(简称:事务)是执行过程中的一个逻辑单位,由一个有限的操作序列构成。

概要

一个数据库事务通常包含了一个序列的对数据库的读/写操作。它的存在包含有以下两个目的:

  1. 为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。
  2. 当多个在访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。

当事务被提交给了(),则()需要确保该事务中的所有操作都成功完成且其结果被永久保存在数据库中,如果事务中有的操作没有成功完成,则事务中的所有操作都需要被,回到事务执行前的状态;同时,该事务对数据库或者其他事务的执行无影响,所有的事务都好像在独立的运行。

但在现实情况下,失败的风险很高。在一个数据库事务的执行过程中,有可能会遇上事务操作失败、/失败,甚至是存储介质失败等情况。这便需要对一个执行失败的事务执行恢复操作,将其数据库状态恢复到一致状态(数据的得到保证的状态)。为了实现将数据库状态恢复到一致状态的功能,通常需要维护以追踪事务中所有影响数据库数据的操作

ACID性质

并非任意的对数据库的操作序列都是数据库事务。数据库事务拥有以下四个特性,习惯上被称之为

  • 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行
  • 一致性(Consistency):事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态的含义是数据库中的数据应满足完整性约束
  • 隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行
  • 持久性(Durability):已被提交的事务对数据库的修改应该永久保存在数据库中

 

ref: 

转载地址:http://yweso.baihongyu.com/

你可能感兴趣的文章
《android-文件大小》
查看>>
HTTPS的工作原理
查看>>
PhoneGap使用PushPlugin插件实现消息推送
查看>>
Boyer-Moore 算法介绍
查看>>
关于Java中的单例模式
查看>>
datepicker
查看>>
基于vCenter/ESXi平台CentOS 6.8系统虚拟机Oracle 12c RAC双节点数据库集群搭建
查看>>
CentOS 7输入startx无法启动图形化界面
查看>>
#51CTO学院四周年# 终于在这里遇到你
查看>>
百度首次公布云业务收入,同比增长超100%,跻身国内第三
查看>>
Java学习笔记 1—命名规则、数据类型、运算符
查看>>
FusionCharts入门教程,使用指南
查看>>
我的友情链接
查看>>
数组的一些方法
查看>>
关于MFC中WM_MOUSEHOVER和WM_MOUSELEAVE消息的使用
查看>>
我的友情链接
查看>>
linux下查看nginx,apache,mysql,php的编译参数[转]
查看>>
Android掌中游斗地主游戏源码完整版
查看>>
LeetCode - 26. 删除排序数组中的重复项
查看>>
Linux LVM逻辑卷配置过程详解
查看>>