扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
4、联机事务处理
联机事务处理是比较特殊的一类应用,一般体现为同时工作的用户数较 多,对数据的操作申请比较简单,但要求比较快的响应时间。针对这类应用, 计算机系统必须提供一个能支持大量同时工作的用户,并提供比较大的系统吞吐量来消化用户的大量申请。具体来说,就是要有较好的用户管理手段、有效的内存缓冲区管理、优化的I/0进程控制、有效的系统封锁处理、快速的网络管理功能等等。因此,为了在联机事务处理应用中达到较好的性能,应以适用于联机事务处理的硬件平台、操作系统、网络环境为基础,配合数据库处理,才能实现理想的联机事务处理。
Oracle的多线索技术在相同硬件环境下,所支持的用户数是其他数据库 系统的5至10倍。Oracle的多进程技术从根本上加快每一个用户申请的处理速度,特别是在大量申请需要处理的情况下,它能保持内存中请求队列在大部分时间处于队列空的状态。更为灵活的是,Oracle多进程的数量是动态可调整的,使用相应的系统参数,可以控制服务器进程个数、当应用环境、工作量、硬件环境等发生变化时,可以构造不同的Oracle服务器进程,使用户的申请在任何时候都能保持较快的处理效率。
数据库共享缓存管理,是影响联机事务处理性能的一个关键因素,能充分且有效地利用高速缓存,就能大大减少许多重复操作,大大减少不必要的I/O,从而提高语句的执行速度。Oracle有一套十分有效的内存高速缓存管理的技术,编译后的SQL语句共享缓冲区、预读入技术、日志记录缓存等。
在多用户并发工作的情况下,写/写冲突及读/写冲突是主要的影响实时操作效果的因素,是联机事务需要解决的主要问题。Oracle采用行级封锁来解决写/写冲突,当用户要对一张表进行修改或更新操作时,会自动锁定要修改的记录“行”,而不是整张表。当其他用户同时也要修改同一张表时,也锁定各自需要修改的记录“行”,只有在两个或多个用户需要修改同一记录行时,才会出现排队等待锁资源释放的现象。这种行级封锁大大降低了冲突的机率,与页级锁或表级锁相比,大大提高了系统的吞吐量。
Oracle采用读一致快照技术来解决读/写冲突,而不是采用传统的读锁方式。当一用户对某一记录进行修改时,系统会自动生成一个该记录的拷贝, 称为读一致性快照。而另一用户同时要读取这一记录行时,读操作将读取读一致快照的内容,而不用加读锁。因此读操作将不被写操作所阻塞;同样,写操作也同样不会被读操作所阻塞。可见Oracle的行级封锁及读一致性快照技术,使得在大量用户并发工作的联机事务处理环境下,用户发生冲突而排队等候的现象减少到了最低,大大提高了系统的吞吐量,提高实时响应的速度。
另外,Oracle还有灵活的查询优化机制,确保查询操作的快速完成, 如基于成本的智能优化、哈希方法、分布式查询优化等,都能以不同的使用方法,为不同层次的用户自动提供最佳的优化方案, 而无需用户编程指明。
为了能提高事务的吞吐量和低的响应时间,Sybase主要采用了支持存储过程(Stored Procedure)、Log成组提交以及基于成本的优化等技术。其设计思想分别和Oracle中数据库共享缓存管理以及查询优化机制相似,从功能处理上没有Oracle的全面和有效。长期以来,Sybase采用页级封锁机制来解决写/写冲突,使用户的并发事务受到很大限制,集中体现在用户的并发事务达到一定数量时,系统实现上容易陷入瘫痪的状态。在ASE的新版本中才引入行级锁,然而,Sybase的行级锁并不彻底,它采用可升级的行级锁,可升级的行级锁随着系统活动级别的增加,为管理内存的使用,会升级原有锁的级别――当系统并发访问较多时,会引起行级锁升级为页级锁。所以系统对大量并发的控制并没有实质的改善。例如,用户A在修改某个客户信息,将可能影响用户B修改其它客户信息。不必要的资源竞争 ,较低的系统并发性,对关键业务的OLTP系统是无法忍受的。
由于缺少读一致性的多版本模式,Sybase不能提供一致性和并发性兼得的解决方案。为了使读操作不阻塞写操作,Sybase使用脏读(Dirty Read)技术。虽然提高了性能和并发性,但带来了读到的数据可能与数据库中的数据不一致的结果。另一方面,如果要保证读一致性,Sybase采用加读锁技术,而用户A的读锁不能与用户B的写锁同时加在同一个数据块上,因此,用户A必须等待,直到用户B的事务处理结束,释放写锁后,才能继续进行读操作。或者用户B必须等待用户A读操作完成后才能进行写操作。读和写操作互相阻塞,大大增加了死锁的可能。
5、硬件平台及操作系统的适用性
Oracle能支持几乎所有常见的硬件平台及操作系统,这种支持不是简单 的内核移植,而是针对不同的硬件平台及操作系统,充分利用不同硬件平台以及操作系统的优势,并在数据处理方面加以发挥。
根据近年来美国TPC组织提供的测试报告,Oracle在目前国际上流行的绝大多数硬件平台上均获得了最高的TPC-C测试值。其中最新的测试值为824,164 tpmC。这些创记录的结果,在数据库市场中尚无其他数据库产品能望其项背。另据美国著名的<
>对几家主要数据库厂家的测试结果,Oracle在数据库的数据装载、数据查询、数据库读/写操作等方面,都获得绝对优势,并连续几年占据评比的第一名。现在绝大多数硬件公司都以Oracle为数据库基础平台进行测试,也说明Oracle的确让不同的硬件平台发挥出其最佳的效能。
Sybase支撑的硬件平台及操作系统则比较有限,缺乏对MPP系统的支持。其最高的TPC-C测试值仅为60,366tpmC.
6、并行处理
Oracle的体系结构不仅能大大加快系统的处理速度,增大系统的吞吐量 ,还能充分利用计算机硬件资源。以对称多处理SMP结构中,Oracle的多服务器进程能均衡地分散在多个CPU上,使SMP中的多个CPU同时处理请求队列中的用户请求,从而达到利用所有CPU同时工作,并且均分负载的目的。Oracle的并行查询功能将SQL的查询语句,索引建立语句,数据加载,备份/恢复以及用户程序进行分解,分配给多个CPU同时工作以实现语句级的并行处理,并且均分负载的,以上的并行处理过程,对用户来说是透明的,完全集成在数据库内核中完成;支持应用程序及数据库的性能缩放,即CPU个数增加时,数据库的处理速度和应用程序的执行速度能随之增加,反之亦然,均不需要修改程序或重构数据库系统。通过数据分区技术,Oracle还可以支持并行的DML操作(插入、删除、修改)。
在松散藕合型的Cluster及海量并行处理结构中,Oracle并行服务器(Real Application Cluster,以前称为OPS)能充分发挥松散藕合型计算机结构的特点。Oracle公司在1989年率先推出Parallel Server选件,以支持这种体系结构(Oracle6.2版)。随着Cluster技术自身的成熟,以及Oracle对这一技术的经验,Oracle Parallel Server目前已能支持几乎所有的Cluster群机系统。在share-nothing或shared-disk模式的群机系统上,Oracle Parallel Server均可以实现多节点共享数据库,并自动并行处理及均分负载,在数据库故障时进行容错和无断点恢复处理。
Oracle并行服务器利用共享磁盘的技术,数据库驻留在共享磁盘中,松散耦合中的所有计算机均能同时对同一份数据库映像进行存储。另外,Oracle与松散耦合型计算机结构相结合,还能大大提高系统的可靠性及容错能力,当某一台计算机出现故障时,由于数据库是同一份共享的映像,所以不需要系统的重新恢复,从而继续整个系统的运行,达到不间断运行的效果。
Oracle9i最新的并行服务器技术 Real Application Clusters设计了快捷高效的共享集群高速缓存,从而提供了透明的应用程序可扩展性。Real Application Clusters是五年多研发工作的结晶,其中包含了13项独家专利和18项已申报的专利请求。Real Application Clusters独特之处在于:
a)“开箱即用”,提供接近线性的可伸缩性
b)与应用程序的良好兼容性,无需重新设计
c)快速增长的集群,可快速增添节点和磁盘
Oracle Real Application Cluster能支持的节点数目受操作系统的约束,一般最大可以达256个。
为了能充分发挥对称多处理机SMP中多CPU硬件平台的高性能,Sybase采用了虚拟服务器体系结构(VSA),用单一的进程来模拟多进程处理,当多个CPU同分片的进程处于协调一致时,可以利用多个CPU的高性能;但同时,如果不处于协调一致时,也会成为服务器进程瓶颈。
Sybase不能支持Cluster系统的可伸缩性。Sybase Adaptive Server Enterprise只能提供在Cluster系统上的切换功能,提高系统的可用性。
Sybase最近宣布它的Companion Server Option可以支持Cluster系统的并行处理。但事实是怎样的呢?Companion Server Option只能支持2个节点的Cluster系统, 包含一个Primary Database节点和一个Proxy Database节点。虽然用户可以通过Proxy Database节点访问数据库,但Proxy Database上只有数据字典是直接访问的,其对数据的访问是通过对Primary Database的远过程调用实现,所以最终仍然都需经过主数据库(Primary Database)节点。Primary Database的负载并没有减轻。所以这种配置不能真正提高系统的可伸缩性。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者