语句 它在某时完成对一个数据库进行的处理。
工作单元 它包括在一个数据库上执行的多条语句。
工作分布式单元 它包括在多个数据库上执行的多条语句,其中在一个时间,每个数据库上执行一条语句。
分布式请求 在多个数据库上执行的多条语句,其中,在一个时间,每个数据库上有多条语句执行。
在单一用户、单一数据库环境下执行事务是简单的,这是因为没有冲突问题或对数据库间同步的需求。在分布式环境下,维护多个数据库的完整性是另外一种问题。传统上,大多数
联机事务处理系统在
大型计算机系统上实现,这是由于它的操作的复杂性,以及需要快速输入/输出、禁止和管理的原因。如果一个事务必须在多个场地进行修改,那么就需要管理机制来防止重写数据并提供同步。其他的需求包括具有卷回失效事务的能力、提供安全性特征,以及如果需要,提供
数据恢复的能力。这是通过一个事务处理监督器来处理的。这个监督器保证了事务是完全完成的或是进行卷回的,因而就可以保证数据库状态的正确性。
在一个分布式环境下,写操作经常并行地在多个
数据库服务器上发生。这样的并发
事务处理需要一个“卷回”机制,以保证在一次写操作中系统失效的情况下,仍保证数据库的完整性。事务要么一起确认,要么放弃。如果一个或多个与事务有关的系统响应不一致,这意味着系统或通信可能出现了故障,因而就会放弃一个事务。
可以看出,当多个用户试图同时改变数据的同一块时,就出现了冲突问题。另外,对多个数据库的写入操作必须进行同步处理,并且必须保证这个写入已经确实被所有的数据库处理完毕了。需要一个监督程序来保证数据的完整性。对在分布式环境下的事务处理有四种需求,联合起来称为“ACID”。