摘要:当今的数据处理大致可以分为两大类:联机事务处理(OLAP)、联机分析处理(OLAP)。
联机事务处理(OLTP)是指利用计算机网络,将分布于不同地理位置的业务处理计算机设备或网络与业务管理中心网络连接,以便于在任何一个网络节点上都可以进行统一、实时的业务处理活动或客户服务。
通常在DBMS中,事务是工作的离散单位。例如,一个数据库事务可以是修改一个用户的帐户平衡或库存项的写操作。联机事务处理系统实时的采集处理与事务相连的数据以及共享数据库和其他文件的地位变化。在联机事务处理中,事务是被立即执行的,这与批处理相反,一批事务被存储一段时间,然后再被执行。大多数批处理是在夜间进行的。OLTP的结果可以在中国数据库中立即获得,这里假设这些事务可以完成。联机事务处理以实时的方式发生。民航订票系统和银行ATM机是联机事务处理系统的例子。
在单一用户、单一数据环境下执行事务是简单的,这是因为没有冲突问题或对数据库间同步的需求。在分布式环境下,维护多个数据库的完整性是另外一种问题。传统上,大多数联机事务处理系统在大型计算机系统上实现,这是由于它的操作的复杂性,以及需要���速输入/输出、禁止和管理的原因。如果一个事务必须在多个场地进行修改,那么就需要管理机制来防止重写数据并提供同步。其他的需求包括具有卷回失效事务的能力、提供安全性特征,以及如果需要,提供数据恢复的能力,这是通过一个事务处理监器来处理的。这个监督器保证了事务是完全完成的或是进行卷回的,因而就可以保证数据库状态的正确性。
在一个分布式环境下,写操作经常并行的在多个数据库服务器上发生。这样的并发事务处理需要一个“卷回”机制,以保证在一次写操作中系统失效的情况下,仍保证数据库的完整性。事务要么一起确认,要么放弃。如果一个或者多个与事务有关的系统响应不一致,这意味着系统或通信可能出现了故障,因而就会放弃一个事务 。
可以看出,当多个用户试图同时改变数据库的同一块时,就出现了冲突问题。另外,对多个数据的写入操作必须同步处理,并且必须保证这个写入已经确实被所有的数据库处理完毕了,需要一个监督程序来保证数据的完整性。对在分布式环境下的事务处理有四种需求,联合起来称为“ACID”。
原子性:定义工作的独立单元。如果一个事务是分布的,所有影响分离地点数据的子事务都必须象一个事务那样被一起执行。
一致性:一致性基本上是一种数据库从一个状态变到等同的另一个状态的需求。事务监督器必须检验所有被影响的数据都是一致的。
孤立性:事务必须被孤立的执行直到完成,执行期间不受到其他事务的影响。
持续性:这个性质是与事务的最终确认一起进行的,一旦一个事务被检验为对所有受影响的系统都是正确的,他就被认可并且不再需要卷回。
联机事务处理在金融、证卷、期货以及信息服务等系统得到广泛的应用。