php事务基本要素,数据库事务正确执行的四个基本要素
ACID是数据库事务正确执行的四个基本要素的缩写,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库系统,必需要具有ACID特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。
原子性(Atomicity)
– 事务的所有操作,要么全部完成,要么全部不完成,不会结束在某个中间环节。
一致性(Consistency)
– 事务开始之前和事务结束之后,数据库的完整性限制未被破坏。
隔离性(Isolation)
– 当多个事务并发访问数据库中的同一数据时,所表现出来的相互关系。
持久性(Durability)
– 事务完成之后,事务所做的修改持久化保存,不会丢失。
1.原子性
整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
2. 一致性
在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
3. 隔离性
隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。
这种属性有时称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。
4. 持久性
在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
由于一项操作通常会包含许多子操作,而这些子操作可能会因为硬件的损坏或其他因素产生问题,要正确实现ACID并不容易。ACID建议数据库将所有需要更新以及修改的资料一次操作完毕,但实际上并不可行。
目前主要有两种方式实现ACID:第一种是Write ahead logging,也就是日志式的方式。第二种是Shadow paging。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2125599/,如需转载,请注明出处,否则将追究法律责任。
php事务基本要素,数据库事务正确执行的四个基本要素相关推荐
- acid(数据库事务正确执行的四个基本要素的缩写)
ACID,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability).一个支持事务(T ...
- ACID(数据库事务正确执行的四个基本要素)
关系型数据库都会有ACID(数据库事务正确执行的四个基本要素的缩写) ACID其中包含:原子性,一致性,隔离性,持久性.一个支持事务的数据库,必须要具有这四种特性,否则在事务过程当中无法保证数据的正确 ...
- 数据库事务隔离级ORACLE数据库事务隔离级别介绍
本文系转载,原文地址:http://singo107.iteye.com/blog/1175084 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted.Read committ ...
- 使用事务注解导致数据库事务一直在运行
使用事务注解导致数据库事务一直在运行 1.问题出现原因: 场景: @Override//bcId 要选择的品牌对应bcid 不是头部的@Transactional(rollbackFor = Exce ...
- mysql事务并发控制_数据库 事务并发控制
事务是一个逻辑工作单元, SQLServer 2005 提供了几种自动的可以通过编程来完成的机制,包括事务日志. SQL 事务控制语句,以及事务处理运行过程中通过锁定保证数据完整性的机制.当用户对数据 ...
- Spring事务管理--(一)数据库事务隔离级别与mysql引擎基础讲解
一.前言 本篇文章来自网络整理,很简单,但是很实用对于初级和中级工程师. 原创地址1:http://www.cnblogs.com/hollen/archive/2012/05/13/2498309. ...
- Spring JDBC-Spring事务管理之数据库事务基础知识
概述 数据库事务的概念 原子性 一致性 隔离性 持久性 数据并发的问题 脏读dirty read 不可重复读unrepeatable read 幻象读 phantom read 幻象读和不可重复度的区 ...
- pgsql数据库默认配置事务类型_PostgreSQL数据库事务出现未知状态的处理方法
背景 数据库的事务是原子操作,要么成功,要么失败.但是实际上在客户端的视角,可能有第三种状态:unknown状态. 当客户端提交事务结束(rollback , commit , prepare xac ...
- spring配置mysql事务管理_Spring 数据库事务管理机制
要点1 Spring事务管理方法编程式事务(TransactionTemplate.PlatformTransactionManager) 声明式事务(配置式.注解式) 2 Spring 注解 @Tr ...
最新文章
- php注册表唯一电脑,PHP常见设计模式之注册表模式
- [云炬创业基础笔记]第五章创业机会评估测试8
- JS替换地址栏参数值
- 数据结构之线索化二叉树
- hdfs里的文件下载HDFS之fsimage、metadata、edits、fstime(二十七)
- 网站里的MG电子是一个服务器吗,魔兽世界中的品质生活,从MG电子游艺开始!...
- Topaz Sharpen AI 4 人工智能锐化
- 全球计算机病毒损失报告,世界十大计算机病毒 CIH的危险被公认,第二经济损失26亿美元...
- BOOST的JSON解析库Boost.JSON简介
- 大数据之oracle:next_day函数
- Swing实现五子棋
- 瑞云科技联合飞蝶VR教育、大朋VR推出元宇宙 5G VR智慧教育整体解决方案
- 关于godot第三方功能增强版
- Opencv配置常见问题:
- 【游戏开发创新】当我学了Blender 建模,自制3D电脑桌面,回收站爆发了,把我做的模型都吐了出来(Blender | Unity | FBX)
- python五角星符号怎么打出来_如何使用python输出连续星号?
- SATA系列专题之六:浅析NCQ原生指令序列
- 在Linux中安装mysql后遇到错误20008解决方案
- getElementsByTagName用法详解
- 计算机的用途英语作文带翻译,关于计算机的英文作文带翻译