事务特性 - 达梦数据库

达梦数据库事务特性

  • 1 事务特性
    • 1.1 原子性
    • 1.2 一致性
    • 1.3 隔离性
    • 1.4 持久性

1 事务特性

  • 事务必须具备什么属性才是一个有效的事务呢?一个逻辑工作单元必须表现出四种属性,即原子性、一致性、隔离性和持久性,这样才能成为一个有效的事务。DM 数据库提供了各种机制以保证事务满足以上各种要求

1.1 原子性

  • 事务的原子性保证事务包含的一组更新操作是原子不可分的,也就是说这些更新操作是一个整体,对数据库而言全做或者全不做,不能部分地完成。这一性质即使在系统崩溃之后仍能得到保证,在系统崩溃之后将进行数据库恢复,用来恢复和撤销系统崩溃时处于活动状态的事务对数据库的影响,从而保证事务的原子性。系统对磁盘上的任何实际数据的修改之前都会将修改操作本身的信息记录到磁盘上。当发生崩溃时,系统能根据这些操作记录当时该事务处于何种状态,以此确定是撤销该事务所做出的所有修改操作,还是将修改的操作重新执行。

1.2 一致性

  • 数据一致性是指表示客观世界同一事务状态的数据,不管出现在何时何处都是一致的、正确的、完整的。换句话说,数据一致性是任何点上保证数据以及内部数据结构的完整性,如 B 树索引的正确性。
    一致性要求事务执行完成后,将数据库从一个一致状态转变到另一个一致状态。它是一种以一致性规则为基础的逻辑属性,例如在转账的操作中,各账户金额必须平衡,这一条规则对于程序员而言是一个强制的规定。事务的一致性属性要求事务在并发执行的情况下事务的一致性仍然满足。

1.3 隔离性

  • 事务是隔离的,意味着每个事务的执行效果与系统中只有该事务的执行效果一样,也就是说,某个并发事务所做的修改必须与任何其他的并发事务所做的修改相互隔离。这样,只有当某个值被一个事务修改完并提交后才会影响到另一个事务。事务只会识别另一并发事务修改之前或者修改完成之后的数据,不会识别处于这中间状态的数据。事务的隔离行为依赖于指定的隔离级别。

1.4 持久性

  • 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响。即一旦一个事务提交,DBMS 保证它对数据库中数据的改变应该是永久性的。如果 DM 数据库或者操作系统出现故障,那么在 DM 数据库重启的时候,数据库会自动恢复。如果某个数据驱动器出现故障,并且数据丢失或者被损坏,可以通过备份和联机重做日志来恢复数据库。需要注意的是,如果备份驱动器也出现故障,且系统没有准备其他的可靠性解决措施,备份就会丢失,那么就无法恢复数据库了。

(摘自DM8系统管理员手册 19.2)

你可能感兴趣的:(数据库)