- 论坛徽章:
- 0
|
联机事务处理(OLTP)性能对比
Oracle
在关键性的事务处理性能方面,Oracle 的TPC-C指数多少改变了其运行缓慢的一贯形象。隐藏在这些“优良性能”背后的却是庞大的资源投入。例如:Oracle使用临时tablespace执行建立索引的工作,如果你需要对一个数据量较大的表生成索引,那么你必须设置巨大的tablespace同时关闭该tablespace的登录操作,否则索引将不能生成。同时Oracle必须利用rollback segments,不管索引生成与否,都将索引行记录在rollback segments或redo log,这将耗费大量的系统资源,但事实上这样做并无此必要。Sybase 在一张大表上花费40分钟建立唯一索引,而对于Oracle来说,花费的时间是16小时。
Oracle的锁机制只限于行锁和表锁,并且在加锁时将数据和索引同时锁住,但在实际应用中并不是每次操作都需要对数据和索引同时访问,因此这将影响系统的并行效率。
Oracle查询计划的优化是基于系统内置的静态规则,无法根据用户的需求(用户数激增,数据量爆炸等变化)动态地调整执行计划,针对SQL也没有相应的调优工具,因此当执行效率由于运行环境的变化而降低时,只有修改程序才能进行优化。
数据爆炸是影响性能的一个重要因素,数据爆炸不仅增加了磁盘空间占用而且还导致了大量DBA资源的开销。在Oracle 中,Oracle采用了一些新技术加快查询速度,比如自动摘要表,这一新特征连同Oracle 10g的其他所有特征,比如位图索引,分区,索引表等都将增加数据库的数据量,而在性能方面仅对预先计划的查询有效。这一点可以通过Oracle在TPC—D上的性能测试指标证明。测试表明,Oracle为了获得好的查询性能,数据库里的数据量将增加到原始数据量的553%。使用Oracle 数据库,数据库管理员仅能够优化CPU及并行级别,这种资源管理方式对于混合负载环境是没有效率的。值得一提的是,Oracle引进了许多新的可用性特征用以追赶Sybase ASE。这些特征包括了索引重构,保证用于快速恢复的检测点时间,自动发送备份的操作到备用数据库,阅读日志及在线修复数据功能。
Sybase
对于Sybase用户来说:使用核心备份目录,索引日志,单进程和单数据库服务器等技术无异于走进侏罗纪公园。ASE为联机事务处理提供了可预计的高性能,通过专利的逻辑内存管理器(Logical Memory Manager:LMM)让用户分配数据库对象给设定的没有数量限制的命名缓存。高优先级的数据保留在缓存中,提高响应时间。从而保证关键的业务有充足硬件资源。
同时逻辑处理管理器(Logical Process Manager:LPM)允许用户分配CPU资源给个别应用,以便于低优先级的操作不影响高优先级的操作,确保了更好的可预计的性能。LMM和LPM还允许用户灵活的支持密集资源操作,例如:生成报表的同时,而不会影响关键任务应用的性能。
资源控制器用于阻止那些为了得到快速的响应速率而垄断资源的失控查询。通过管理查询、批处理或事务的资源消耗,允许用户指定基于I/O开销、使用时间或返回行数的限制,还可以建立当超过限制时可执行的操作。
Sybase ASE在很多年前就为混合负载环境提供了优化参数,包括缓存索引页和数据,减少I/O的花费,为用户提供多种优先权设置和在CPU水平上控制资源或限定一个查询和批处理的资源利用。ASE 现在能够适应电子商务领域非常典型的不断变化的工作负载。当工作负载发生变化时,CPU和内存之类的资源以及为服务器引擎所理解的用户优先权的分配能够动态地进行调整。另外, Sybase还允许在存储进程级别、索引及应用级别上对CPU及存储地址分配进行优化。
在数据库死锁方面,许多应用之所以被锁住内容,主要是由于索引页加锁而不是数据页加锁导致对无关数据的加锁。Sybase提供了只在数据页加锁而无需在索引页加锁的机制。这样能降低许多应用中内容被锁住的情况,从而大大提高并发性,同时将死锁的可能性降低65%。
ASE 15.7推出了用于查询执行的多种内部优化功能.可减少查询执行时的额外开销。ASE 15.7还提供了可更好地利用并行硬件的升级版内核。该内核升级增强了ASE在拥有非常多的处理器、处理器内核以及硬件线程的系统中的可扩展性。
同时Sybase数据库中包含独特的调优工具,可以根据抽象计划针对SQL进行优化;随着数据库运行环境的变化(用户数、数据量和并发度等)动态调整执行计划,完全根据应用的需求而不是固定的方式(规则)对程序进行优化;在不改变任何程序或数据库配置的前提下对性能进行调优。
下图显示了Sybase和Oracle数据库在联机事务处理方面的差异:
Sybase ASE Vs Oracle
ASE Oracle 数值对比
性能对比
硬件平台: Sun Starfire Enterprise 10000
CPUs: 64
TPC-C 156,873.03 115,395.73 41,477.3
$/TPC-C $48.81 $105.63 -$56.82
系统总开销 $7,657,324 $ 12,189,298 -$4,531,974
性能对比
硬件平台: HP 9000/V2500
CPUs: 32
TPC-C 102,023 92,832 9,191
$/TPC-C $63.21 $87.71 -$24.51
系统总开销 $6,448,894 $8,142,782 -$1,693,888
内存资源占用对比
每用户占用内存值 72KB 250KB -178KB
250 用户 18MB 62MB -44MB
500 用户 36MB 132MB -96MB
1,000 用户 72MB 264MB -192MB
5,000 用户 360MB 1.25GB -890MB
硬盘资源占用对比
记录数: 2billion
记录长度: 42 bytes
镜像 : Yes
硬盘占用量 511.3GB 1,052GB -540GB
每1M数据量硬件开销 $511,000 $1,052,000 -$541,000
基于Linux的Sybase ASE产品目前仍然保持着在2/4核上的交易性能记录:
TPC-C Benchmark completed June 2006. IBM TPC-C results of 81,439 tpmC, 2.99 $/tpmC, configuration available as of 12/22/06, IBM p5-520 Model 9131-520 running Sybase Adaptive Server on SUSe Linux 9. HP ProLiant DL385 G1 2.8 GHz/2Presult of 76,214 tpmC, 3.91 $/tpmC
|
|