GBase 8s数据库的某些操作的集合可看作一个整体,在这些操作的执行过程中,不受其他操作的影响,这样的一个操作的集合就是事务。
事务(Transaction)是对数据库进行操作的集合。该集合是一个不可分割的具有逻辑功能的工作单元,集合中的操作在事务的一次执行中必须全部被执行或者全部不被执行。事务将每个用户对数据库的操作组合为一个具有逻辑功能的操作集合。为了保证数据库中的数据一致性,避免并发事务之间互相影响而产生数据错误,事务具有如下四个特点。
1.原子性(Atomicity)
事务是对数据库操作的集合,是不可分割的工作单元。事务的原子性是指构成该事务的操作集合中的全部操作在事务的运行过程中全部执行或者全部不执行。
2.一致性(Consistency)
事务运行的结果应该使数据库保持数据一致性。保持数据一致性的前提是与事务相关的操作不能够在执行过程中被打断,确保事务的全部操作正确执行。如果其中某些操作无法正确执行,就无法保证数据的一致性。因此,在编写事务的同时,必须具有检查数据一致性的功能。
3.隔离性(Isolation)
在事务并发运行过程中,一个事务不能被其他事务或操作干扰,从而导致数据不一致,即构成某个事物的全部操作与其他事务或操作是隔离的,同时,执行的事务之间不能够互相影响,一个事务单独运行的结果,应该与该事务和其他多个事务同时运行的结果一致。
4.持久性(Durability)
事务的持久性是指事务运行完毕并成功提交后,对数据库全部操作的结果应该永久地保留在数据库中。以后运行的其他事务或者对数据库的其他操作不会对该事务运行的结果产生任何影响,事务运行完成后发生的系统故障也不会对事务的运行结果产生影响。
事务的上述四个特性简称为事务的 ACID(分别表示:Atomicity、Consistency、Isolation和 Durability)特性。这些特性充分体现了事务概念所描述的事务是一个操作集合、一个逻辑功能单元。GBase8s数据库的事务管理机制保证了事务的 ACID 特性,进而保证数据库中数据的一致性。