更新时间:2023-07-21 15:33
On-Line Transaction Processing联机事务处理过程(OLTP),也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。
联机事务处理系统是一种以事务元作为数据处理的单位、人机交互的计算机应用系统。它能对数据进行即时更新或其他操作,系统内的数据总是保持在最新状态。用户可将一组保持数据一致性的操作序列指定为一个事务元,通过终端、个人计算机或其他设备输入事务元,经系统处理后返回结果,应用于飞机订票、银行出纳、股票交易、超市销售、饭店前后管理等。
这样做的最大优点是可以即时地处理输入的数据,及时地回答。也称为实时系统(Real time System)。衡量联机事务处理结果的一个重要指标是系统性能,具体体现为实时请求-响应时间(Response Time),即用户在终端上输入数据之后,到计算机对这个请求给出答复所需要的时间。OLTP是由前台、应用、数据库共同完成的,处理快慢以及处理程度取决于数据库引擎、服务器、应用引擎。
OLTP数据库旨在使事务应用程序仅写入所需的数据,以便尽快处理单个事务。
新兴互联网背景下的OLTP系统可以称为“ New OLTP”,它们主要面向以下两个客户需求:
(1)更高的OLTP吞吐量的需求。考虑到新兴的一些互联网应用程序,比如多人游戏、社交网络、在线博彩网络等,它们必须能够处理每秒大量的交互。同时,移动设备的爆炸性增长也带来了一个新的市场:把手机当作地理传感器,从而提供基于位置的服务。因此,成功的应用还应该具有处理爆炸性增长事务的能力。互联网和智能手机的出现与发展,引起了对数据库系统的海量交互, New OLTP需要数据库具有更好的性能和更强的可扩展性。
(2)实时分析的需求。新的查询是混杂了潮水般更新操作的查询。例如,一个互联网应用想要知道当前在线的所有游戏玩家,或者是一个智能手机用户想要知道谁在他/她的周围。这些查询仅需要对整合完成的数据进行,但需要对当前数据进行实时查询。因此, New OLTP系统需要具有实时查询的能力。
OLTP 系统中的数据主要被组织为支持如下事务:
当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
事务处理系统数据库应设计为支持:
1.很好的数据放置。对于 OLTP 系统,输入/输出瓶颈是一个尤为关心的问题,原因在于修改整个数据库中数据的用户很多。确定数据的可能访问模式,并将经常访问的数据放在一起。在此过程中,可辅以文件组和 RAID(独立磁盘冗余阵列)系统。
2.缩短事务以将长期锁减至最少,提高并发性。在事务期间,避免用户交互。无论何时,只要有可能,就通过执行单个存储过程来处理整个事务。在事务内对表的引用顺序可能会影响并发性。将对经常访问的表的引用置于事务的末尾,以便将控制锁的持续时间减至最短。
3.联机备份。OLTP 系统通常的特征是连续操作(一天 24 小时,一周 7 天),为达到此目的,停工时间要保持绝对最短。尽管 Microsoft SQL Server 2000 可以在数据库正在使用时对其进行备份,但是应将备份过程安排在活动不频繁时进行,以使对用户的影响减至最小。
4.数据库的高度规范化。尽可能减少冗余信息以提高更新的速度,从而提高并发性。减少数据还可以提高备份的速度,因为只需要备份更少的数据。
5.很少或没有历史或聚合数据。可以将很少引用的数据归档到单独的数据库中,或者从经常更新的表中移出,并置于仅含历史数据的表中。这将保持表尽可能地小,从而缩短备份时间,改善查询性能。
6.小心使用索引。每次添加或修改行时,必须更新索引。若要避免对经常更新的表进行过多的索引,索引范围应保持较窄。请用索引优化向导设计索引。
事务系统包含巨量数据的更新,是业务延续性的重中之重,并提供对重要数据的近实时访问,包括让企业更有竞争力的数据。
联机事务处理分析范围扩展到近实时数据,尤其是客户数据 ;提供近乎实时的虚拟数据仓库;对主数据管理的负载均衡更新,增加企业信息化架构的灵活性。
要在这些新任务上成功应用OLTP,就必须重新定义OLTP在企业信息化体系结构中的地位。OLTP不再只是一套能处理订单的老式应用程序。对典型的OLTP系统处理的大规模数据流更新进行同时分析,这种情况很罕见,因为一般认为这不是OLTP的目的。然而数据仓库更新固有的延迟阻碍着对最新数据的近实时分析。组织如果要对于数据的变化迅速作出反应,IT部门就必须让OLTP产生比以往更大的作用。
OLTP处理的数据是高度结构化的,涉及的事务比较简单,因此复杂的表关联不会严重影响性能。反之,决策支持系统的一个查询可能涉及数万条记录,这时复杂的连接操作会严重影响性能。在OLTP系统中,数据访问路径是已知的,至少是相对固定的,应用程序可以在事务中使用具体的数据结构如表、索引等。而决策支持系统使用的数据不仅有结构化数据,而且有非结构化数据,用户常常是在想要某种数据前才决定去分析该数据。因此,数据仓库系统中一定要为用户设计出更为简明的数据分析模型,这样才能为决策支持提供更为透明的数据访问。
OLAP是以数据仓库为基础的,其最终数据来源与OLTP一样均来自底层的数据库系统,但由于二者面对的用户不同,OLTP面对的是操作人员和低层管理人员,OLAP面员和高层管理人员。
联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理(OLTP) 明显区分开来。
“维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。
OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)、drill across、drill through等。
OLAP工具是针对特定问题的联机数据访问与分析。它通过多维的方式对数据进行分析、查询和报表。维是人们观察数据的特定角度。例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。这里的时间、地区和产品就是维。而这些维的不同组合和所考察的度量指标构成的多维数组则是OLAP分析的基础,可形式化表示为(维1,维2,……,维n,度量指标),如(地区、时间、产品、销售额)。多维分析是指对以多维形式组织起来的数据采取切片(Slice)、切块(Dice)、钻取(Drill-down和Roll-up)、旋转(Pivot)等各种分析动作,以求剖析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。
根据综合性数据的组织方式的不同,常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和存储数据,ROLAP则利用现有的关系数据库技术来模拟多维数据。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。