事务处理技术

来源:互联网 发布:映射网络驱动器是什么 编辑:程序博客网 时间:2024/06/06 03:20

一、事务的由来:

数据库中的数据是共享的资源,因此允许多个用户同时访问相同的数据。但是当多个用户同时操作相同数据时,如果不采取任何措施的话,则会造成数据异常。事务就是为了防止这种情况发生而产生的一个概念。

二、事务的基本概念:

事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么全部都做,要么全部都不做,是一个不可分割的工作单位。

三、事务的特性:

为了保证数据库中数据的正确性,一个事务具有4个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这四个特性简称ACID特性。

1、原子性:原子性表示事务的执行,要么全部都做,要么全部都不做;一个事务对数据库的所有操作是一个不可分割的操作序列。

2、一致性:无论系统处于何种状态,都能保证数据库中的数据处于一致状态,即数据库中的数据总是保持正确的状态。

3、隔离性:隔离性也称独立性,表示两个或多个事务可以同时运行,而互不影响。即在多个事务并行执行时,系统应该保证与这些事务先后单独执行时的结果一样。

4、持续性:持续性也称持久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。

事务是恢复和并发的基本单位。保证事务ACID特性是事务管理的重要任务,事务ACID特性可能遭到破坏的因素有2中:

1)  多个事务并行运行时,不用事务的操作交叉执行。

解决方案:数据库管理系统必须保证多个事务的交叉运行不影响这些事务的原子性。

2)  事务运行过程中被强行停止

解决方案:数据库管理系统必须保证被强行终止的事务对数据库和其它事务没有任何影响。

四、事务的变迁状态:

在不出现故障的正常状态下,所有的事务都可以成功的完成。但是,事务的执行并非总是顺利地完成,不能正常完成的事务成为中止事务。一旦中止事务产生的变化被撤销,则称事务已经回滚。那些所有操作都完成的事务称为已提交事务,这些已提交的事务对数据库的任何更改都使得数据库进入一个新的一致性状态。即使系统出现故障,这种状态也必须保持下去。一下用一个简单的图形模型来概括上述文字:


原创粉丝点击