快捷搜索:

Sybase与Oracle的性能比对决

数据库市场份额对照

Sybase公司成立于1986年,容身于在开放系统平台上研制具有Client/Server体系布局的数据库系统软件产品。当时的Sybase公司因为有效地汲取了其它RDBMS设计历程中的先辈技巧和观点,以满意联机事务处置惩罚(OLTP)利用的高机能要求为目标,同时加强联网对异构数据源的开放互联,使Sybase取得了很大年夜成功,分外是Sybase有效的拓展市场行动,使Sybase曾一度成为天下数据库市场增长最快的产品。然而,因为产品本身的技巧问题,不能供给对大年夜型多处置惩罚器系统的支持,使得Sybase的市场份额急剧下降,并呈现继续的吃亏。1997年吃亏额为5540万美元,1998年仅第一季度就吃亏了8120万美元。1999年头?年月,Sybase裁员又600人,将近其全体员工的10%。2001年第一季度没有吃亏,但令人担心的是比2000年同期许可证(license)收入下降了10.7%。 早在1997年,闻名的市场阐发公司Gartner Group就已将Sybase从”Big 5” DBMS市场领先者的名单中删除。

根据Gartner/Dataquest近期宣布的2001年度数据库市场份额统计申报, 在Gartner/Dataquest申报中Oracle依然在主流操作系统Unix和Linux, Windows NT/2000/XP上的关系数据库市场上盘踞绝对的领先职位地方,在UNIX上占63%, Windows+Unix上占49.9%。在关系型数据库市场(包括AS/400,Mainframe),Oracle以39.8%仍旧处于领先职位地方。

根据最新的FactPoint的查询造访,Oracle数据库依然是Fortune 100公司的首选数据库,此中51%的Fortune 100公司选用Oracle Database作为构建企业的传统利用和电子商务平台。

FactPoint Group申报的查询造访结果:

1、 Oracle仍旧是Fortune 100公司的首选数据库平台,Oracle的数据库市场份额远远跨越其它竞争对手,其市场份额是第二名的2.5倍。

2、 51%的Fortune 100公司选用Oracle数据库来构建企业的传统利用和电子商务利用平台。

3、 Fortune 100所选用的主流利用软件绝大年夜多半选用Oracle数据库平台,此中:100%的Oracle 利用产品;76%的SAP; 72%的PeopleSoft; 81%的Siebel; 73%的i2都选用Oracle数据库平台。

4、 Oracle数据库产品渗透到Furtune100公司的各个营业领域, 此中75%的财务利用, 72%的人力资本利用, 68%的客户关系治理利用和72%的供应链治理利用都采纳Oracle数据库平台。

5、 Oracle数据库被Furtune100的客户评比为技巧最好和与主流利用软件集成最好的数据库平台。

FactPoint Group查询造访涉及了与Fortune100公司的IT经理们的400次会谈,其查询造访结果根据Fortune 100公司的数据库产品的应用状况,真实表现了当今企业中数据库支配与应用的状况,根据FactPoint Group的查询造访Oracle数据库技压群雄,仍旧维持了企业数据库市场份额的领头羊职位地方。

ORACLE 与 Sybase 技巧先辈性的对照

Oracle数据库与Sybase数据库比拟,无论从体系架构、并行支持、完备性节制等各方面均有很大年夜的上风。

1、体系布局的对照

Oracle采纳多线索多进程体系布局,直接在内核中支持散播式数据库操作、多线索处置惩罚、并行处置惩罚以及联机事务处置惩罚等 。Oracle企业级办事器从布局上说,同时支持集中式多用户情况、Client/Server、散播式处置惩罚和Internet谋略布局;从技巧上说,为利用法度榜样及系统开拓职员实现了透明的收集情况、混杂收集布局以及散播式数据治理等

Sybase采纳单进程多线索体系布局,其核心是SQL Server(现在为与Microsoft SQL Server差别,改名为Adaptive Server Enterprise),在Client/ Server体系布局的根基上,架构了复制办事器(Replication Server)和多功能通用网关(Omni SQL Gateway,现在叫Enterprise CONNECT)等部件,从而形成了软件产品系列。

2、多线索多进程与单进程多线索的对照

Oracle和Sybase都采纳多线索。采纳多线索的模式,能用较少的线索治理大年夜量的用户进程;并且,线索进程是动态可调剂的,当用户数增添时, 线索进程也会阶段性地自动增添;当用户数削减时,线索进程也会自动削减。多线 索布局,大年夜大年夜低落了Oracle和Sybase对系统资本的占用,前进了系统资本的使用率。

对付Oracle的体系布局,在集中式多用户情况下,每个用户零丁占用一个办事器进程;在Client/Server 和Internet要领下可以采纳多个用户共享进程,以多线索要领履行用户的哀求。别的,针对分外级其余用户,可以零丁占用一个 办事器进程,实现最优级其余用户哀求。Oracle的办事器进程是用来同时处置惩罚 数据库哀求的,它们从哀求行列步队中拿出申请,进行语法阐发、权限反省以及一系列的内部操作,并和谐Oracle其他后台进程,以合营完成申请的处置惩罚,并把操 作结果返回到回答行列步队。Oracle多办事器进程布局,能实现数据库事务的并行 处置惩罚,前进并发事务处置惩罚的相应速率。并且多办事器布局具有异常机动的扩充 性,当硬件平台处置惩罚能力前进时,办事器进程的个数也能随之增添,数据库性 能也随之前进。多办事器布局,避免了单办事器布局中很轻易造成的办事器进 程瓶颈征象,也避免了是以而引起的单办事器进程逝世锁的征象。

Sybase采纳单进程多线索要领,用户哀求都由一个进程来进 行总的调整和治理。在单办事器并采纳单一的Client/Server模式下其对数据库的治理对照简单,内存资本占用较少,在并发用户数较少的环境下,其对系统资本的使用率比采纳多进程要领要高;但同时,当并发用户数达到必然的数量时,会引起系统处置惩罚机能大年夜大年夜下降,和办事器进程瓶颈及逝世锁等征象;同时系统的可扩展余地异常狭窄。

3、系统集成度

Oracle办事器上的Oracle多线索多进程布局以及并行查询,散播式数据库、高档复制等功能都是 直接在Oracle核心中实现的,无需添加额外的办事器,不要求额外的系统设置设置设备摆设摆设 ,也不会带来额外的的系统治理包袱,更不会孕育发生由API带来编程的变更。

Sybase由实现不合功能的不合办事器组成(ASE, Replication Server, Enterprise Connect, IQ等) ,浩繁的办事器要 求能和谐同等地事情,同时又要满意高靠得住性和高可用性的要求。这不仅对硬件设备提出了很高的要求,对系统治理来讲也提出了极高的要求。Sybase对用户是不透明的,许多操作必要编程职员来治理和操纵,而且后来引入的利用程 序接口(API) CT- Lib与曩昔版本(DB-Lib)不兼容,大年夜大年夜加重了编程职员的包袱,延长了开拓周期。

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的负载并没有减轻。以是这种设置设置设备摆设摆设不能真正前进系统的可伸缩性。

7、数据分区技巧

Oracle从Oracle8开始引入 了数据分区(Partitioning),这项技巧对大年夜规模数据库(VLDB), 并行处置惩罚和数据仓库都有重大年夜的意义。

Oracle数据分区选件将大年夜表和索引分成可以治理的小块,从而避免了对每个大年夜表只能作为一个零丁的工具进行治理。分区(partitioning)是一种“分而置之”的技巧,它为大年夜量数据供给了可伸缩的机能。分区经由过程将操作分配给更小的存储单元,削减了必要进行治理操作的光阴,并经由过程增强的并行处置惩罚前进了机能,经由过程包孕故障的影响还增添了可用性。它支持机动的按不合关键字进行分区的能力。

分区使治理员更轻易治理大年夜数据量的表。治理员可以指定每个分区的存储属性,分区在宿主文件系统中的放置环境,这样便增添了对超大年夜型数据库的节制粒度。分区可以被零丁地卸出或装入,备份,规复,导出和导入,以及加载;是以削减了必要进行治理操作的光阴。可以对分区实施机动的增编削等治理事情。对表分区还可以创建零丁的索引分区,从而限定了必要进行索引掩护操作的光阴。此外,还供给了种类繁多的局部和全局的索引技巧。

分区技巧还前进了数据的可用性。当部分数据因为故障或其它缘故原由弗成用时,其它分区内的数据可用不收影响继承应用。

分区对利用是透明的,可以经由过程标准的SQL语句对分区表进行操作。Oracle 的优化器在造访数据时会阐发数据的分区环境,在进行查询时,那些不包孕任何查询数据的分区将被轻忽,从而大年夜大年夜前进系统的机能。有了分区今后可以将对数据表的操作,例如DML操作,在多个分区上实现并行,且分区间的并行可做到均衡负载,从而前进系统的机能。

Oracle支持的分区包括:

a) Range Partitioning—对指定关键字按取值范围分区,Oracle自动将记录插入响应的分区。

b) Hash Partitioning—基于Hash算法,应用者只必要指定用作Hash 分区的关键字和分区数量,Oracle 把每笔记录平均插入各个分区。

c) Composite Partitioning—是Range Partitioning和Hash Partitioning的组合,应用者可以指定先按某个关键字做Range Partitioning,然后再按别的一些关键字做Hash Partitioning。从而供给更好的并行处置惩罚能力。

d) List Partitioning—当指定关键字的取值可以列表时,可以应用这种分区。Oracle自动将记录插入响应的分区。

Sybase也传播鼓吹稀有据分区的功能。但Sybase的分区与Oracle, IBM, Informix等数据库的分区定义有本色的不合。实际上,Sybase的分区称为页链更为相宜。在Sybase中,表的存储因此页为单位的,页间以指针连接构成页链。而将一个表分区实际便是为一个表建多个页链。在Oracle中早就实现了这种技巧(一个表建多个Free List)。这种“分区”虽然可以前进查询的并行度,但它没有老例意义上的分区所带来的易于治理和隔离故障的好处。在并行方面,它也不能象Hash分区那样使数据平均地散播,以是I/O在各个数据库设备不能平均地散播,并行操作仍旧存在瓶颈。Sybase的所谓“分区”并不是数据库行业里公认的分区,既不能按键值范围分区,也不能经由过程Hash函数分区,只是为表的插入增添多个插入点,增补其页级锁在OLTP情况下难以支持大年夜量并发操作的缺陷。

8、数据库高靠得住性

Oracle有一套较完备的容错机制来包管系统的靠得住性,它支持联机备份与规复。Oracle联机要领的备份,是由一个自力的后台进程完成的,因为该后台进程与认真数据库日常事情的其它进程处于并行事情要领是以,联机备 份能包管在做备份时,不影响前台买卖营业进行的速率,并且该后台进程能包管对 全部数据库做出完备的备份。Oracle的联机规复要领,因此不影响其他用户的买卖营业为条件的。当局部发生故障时,进行局部修复,不影响同一数据库中其 他用户的买卖营业,更不影响收集中其他节点的日常事情。别的,Oracle的规复功能,还能将全部数据库规复到某一光阴,还原数据库的某一历史状态。

Oracle Real Application Cluster使系统的靠得住性有更显明的前进。因为是共享磁盘的布局,除非Cluster中所有节点都停机,才会使系统不能被造访。当任一个节点发生故障时,RAC的其它各个节点都已随时筹备好接收它的连接用户,而无需从新启动进程。Oracle 还供给了透明的利用切换,使客户端利用可以被迅速切换到有效节点上,而无需从新连接数据库。

Sybase没有自力的后台进程可供零丁事情,以是,在Adaptive Server Enterprise中内构 了一个备份办事器(Backup Server)以实现数据库的联机备份,但因为与其他用户 共享进程,在必然程度是影响了其他用户的事情效率,而且还不能确保获得完备的数据备份。

此外,因为Sybase短缺对数据库的同等性作持续反省的机制,有可能造成实际上已分配给某表的存储空间仍旧被标示为“未应用空间”,一旦被重复分配,就会造成数据库毁坏(corruption)。按照Sybase的用户办事条约,在进行备份保存之前,为了检测数据库同等性问题必要运行DBCC。在DBCC操作历程中,数据库必须维持脱机状态。

DBCC必须常常地运行,以包管数据库的同等性。尤其备份之前必然要运行。但DBCC必要脱机运行,数据库需处在单用户要领下,而且运行很慢。这给一些必要高可用性(24x7)或实施VLDB(大年夜规模数据库)的用户带来了严重的影响。

除了联机备份/规复的手段外,Oracle和Sybase还有必然的容错能力,实现基于软件的数据库镜像及日志文件的镜像功能,不依附于谋略机硬件平台,纵然在硬件平台不供给容错功能的时刻,也能为数据库实现容错的保护。

9、散播式处置惩罚技巧

散播式情况下的各节点必须具有很好的自治能力,以防止某一个点或办事器故障而影响其它办事器正常事情。Oracle和Sybase都具有这种自治能力。

Oracle散播式数据库从Client/Server启程,颠末内核的从新改造,技巧 上又迈进一大年夜步,成功地支持逾越 Client/Server的大年夜规模散播式处置惩罚。

Oracle散播式数据库不仅支持Client/Server的通讯模式,还有极具特色的办事器与办事器间的透明通讯。这种办事器自动通讯的要领,使得物理上寄放在多个谋略机上的数据,对利用法度榜样及开拓职员来说,就犹如所有的数据仅寄放在一台办事器上一样,这便是所谓的“一个逻辑数据 库整体”的含义。

Oracle具有极强的散播式处置惩罚能力。如透明的散播式查询、透明的散播式改动和散播式数据复制。透明的散播式查询由数据库同义词及数据库链路(Database Link) 支持,能实现数据库的自动寻址,用户勿需关心数据的物理寄放位置。透明的散播式更新是经由过程自动的两阶段提交技巧实现的。Oracle自动和谐各办事器事务,操作要么一路成功,要么一路掉败,以保护散播式情况下的数据在任一时候都于同等的状态。散播式数据复制技巧有实时复制(Real-time Replication)、存储转发复制(Stored-and-forward Replication)、以及基于光阴的复制(Time-based Replication)等三种要领。如实时复制,根据利用实际必要,在本地办事器上天生一个数据库触发器(Database trigger),一旦本地数据库稀有据操作,急速将所需复制数据一次复制到多个散播式节点上,而且是与本地操作同步履行。存储转发复制,由Oracle供给的复制日志实现,即把所有必要复制的数据记录在日志中,若日志记录中的数据量达到必然的水日常平凡,Oracle自动将日志记录复制到各目的地上。基于光阴的复制,由Oracle数据库参数实现,由该参数抉择命据刷新的光阴或距离,Oracle会自动按此距离光阴按期将远地节点的相差数据传适到本地快照表中,并且自动刷新,本地用户可以使用此快照表数据,并结合本地数据进行繁杂的散播式查询。

以上三种措施复制的数据,在应用措施上,均可做为本地数据来应用。 可对其进行查询,改动等。对复制数据的改动,可以进一步广播到其他复制版及原版上,这便是所谓的数据N-向复制。对付N-向复制,Oracle有一些自动实现的冲突检测和办理技巧,保护N-向数据复制时的散播数据同等性。

Oracle的两阶段提交加上复制技巧,为散播式情况下不合的利用需求供给了机动的选择。例如,对付联机事务处置惩罚的散播情况,可以选用两阶段提 交或实时复制技巧,以包管散播式数据的实时的同等性。对付实时要求不太严格的情况,可以应用别的两种复制技巧,以致在同一种系统中某些数据操作可选用实时的措施,某些数据操作可以选用异步的措施。Oracle以完备而且机动的散播式处置惩罚技巧,来满意不合利用情况的必要。

除此这外,Oracle还有散播式情况下的自动查询优化,散播式逝世锁检测和自动解锁、散播式情况下的数据库治理、散播式数据库全局命名机制等。 所有这些功能,均从更大年夜范围实现了数据库的散播式处置惩罚。

在Sybase中, Adaptive Server Enterprise是RDBMS的核心,主如果为Client/Server布局设计的 ,为了适应散播式数据库系统情况,别的供给了复制办事(Replication Server)和 多功能通用网关(Enterprise Connect)。此中,复制办事器(Replication Server)从功能处置惩罚上同Oracle中的存储转发复制(Stored-and-forward Replication)类似,它供给散播式前提下的异步复制,它经由过程赓续地将主表上的更新通报到复制的备份上,当系统的局部呈现故障时,不致影响全部系统。一旦收集上故障扫除,这种办事器将可以以同步要领规复散播式数据库。但复制办事器本身成为一个单故障点,假如它出了问题,全部系统的所有复制均无法进行。多功能通用网关(Enterprise Connect)办理地点的透明性和数据库的透明性。这两个产品并不集成在数据库核心中,需额外的许可证用度。

Sybase不具备自动的办事器与办事器之间自动协调和两阶段提交技巧 ,散播式前提下的查询和更新必须由ASE和多功能通用网关以及复制办事器合营和谐实现。以是,Sybase供给给用户大年夜量的编程库,用户可经由过程编程实现散播式处置惩罚。Sybase强调其机动性,强调用户能做任何工作,但这是与高集成性 的成长趁势背道而驰的,用户必要做大年夜量的编程事情,这也是Sybase不够之处。

10、数据完备性节制

Oracle具有一套完备的数据库完备性节制机制,这些节制也是直接嵌入Oracle核心中实现的。如:实体完备性约束、自动对表中字段的取值进行精确与否的判断、自动的引用完备性约束、可自动对多张表进行互相制约的控 制等。实体完备性以及引用完备性均为申明式的,便是说,只要简单地建立或改动表的定义完备性规则,今后Oracle DBMS会自动实施这些约束。这样把利用开拓和掩护资源降到了最低(由于没有代码),也改良了利用靠得住性(由DBMS 来确保实施),并且低落实施开销(Oracle优化约束实施操作)。

别的,Oracle还供给用PL/SQL书写的存储历程的触发器,在多个层次上实施很繁杂的商业规则。存储历程及触发器可以包孕一条或多条SQL语句, 也可以包孕多个PL/SQL法度榜样块,它们经编译后存储在Oracle中。存储历程 可以被其他Oracle对象调用,并支持远程客户的调用,这便是远历程调用。触发器则会在每次对数据进行插入、更新、删除时,自动被触发。Oracle触发器有很强的功能,如每当一种特定部件的库存下降跨越必然边界时,一个触发器可以自动天生一个新的定单,触发器可用于掩护导出数据,履行基于内容的审计,以及履行同步的表副本复制。触发器可在触发语句之前或之后履行(或称事前触发及事后触发);既可所以由一条语句也可所以由每一行触发履行。Oracle强有力的触发器严格服从ANSI SQL中的标准定义。

在Sybase中,由Adaptive Server集中实现数据完备性节制。支持申明 定义完备性约束。用Datatype、Default、Rule等来供给字段完备性及字段与表的关系,用触发器实现参照完备性。

Sybase中的数据完备性节制相对Oracle来说显得异常有限。实体完备性供给的功能显得异常不够,每每必要用户在法度榜样中加入很多有关实体完备性的节制代码,履行效率不高,系统可适应性不好,如加或减一个实体约束每每必要修利用法度榜样。其触发器实现的是事后回退要领,假如一个事务引进连续串的事务回退,势必低落事务的处置惩罚能力。

11、数据库安然节制

Oracle的安然节制机制,是由系统权限、数据权限、角色权限这三级体系布局组成的。所谓系统权限,是指对数据库系统及数据布局的操作权,例如 :创建/删除数据链路、同义词、审计、索引、存储历程、触发器等等。所谓数据权限,是指用户对数据的操作权,如查询、更新、完备性约束、运行存储历程等等。所谓角色权限,是把几个相关的权限组织成角色,角色之间可以进一步组合而成为多层次的树型布局,这是Oracle把现实天下中的行政治理要领融入RDBMS中。角色权限除了限定操作权、节制权外,还能限定履行某些利用法度榜样的权限。这样安然节制体系,使得全部系统的治理职员及法度榜样开拓职员能节制系统敕令的运行、数据的操作以及利用程度的履行。这一安然体系已经由过程了美国谋略机(NCSC)C2级标准的测试。实际上,对敕令运行权及利用履行权的节制,已越过了C2级标准。在一些安然级别达到B1级标准的操作系统平台上, Oracle还有以B1级标准建立的Oracle产品,B1级产品的主要特征是除了以工签字(表名、列名、索引等)为根基来限定存取的离散型安然治理外,还有以数据安然程度为根基来限定存取的强制型安然治理。

Oracle还供给了虚拟私稀有据库(Virtual Private Database), 实现了行级加密。不合的用户造访同一张表将是不合的数据集,再也无需在利用里作任何节制。

别的,Oracle可按系统和用户的要求,可对表及视图进行各类审计,完成对数据库系统的审计追踪,如:什么用户介入了哪些操作,操作的工具,操作数据的记录及操作成功与否等。以此可以检测非常或可疑用户的操作,以及未授权的造访。

除了保障数据库一级的安然性外,Oracle公司还供给了安然的收集办事。经由过程Oracle安然收集办事,在收集上通报的SQL语句、查询结果、存储历程调用、数据复制、用户口令等所有信息,都可以经RC4或DES加密通报,使数据在传送历程中,不被泄密。同时,Oracle公司的安然收集办事还支持带有序列号的校验和算法(MD5),包管数据在传送历程中不被不法改动;数据包不被重发,漏发。Oracle的安然收集办事是经由过程纯软件的要领实现,具有资源低、硬件无关、协议无关的特征。Oracle公司是独逐一家供给安然收集办事的数据库公司。

Sybase对数据库的安然性节制是对照低级的。其主要特点有 :明确的登录识别、加密的口令和口令的截止日期、命名的系统治理员以及系统是否登录成功、用户在数据库中的活动等等。Sybase的安然控拟订位于NCSC的C2级安然标准。

12、数据仓库的支持

对数据仓库的支持是Oracle数据库的传统的利用领域,也有许多成功的典型。数据仓库利用一样平常表现为操作对照繁杂,涉及到的数据量对照大年夜,但并发事情的程度不太多,对速率的要求也不太强烈,这类利用除了要求数据库系统有较强的数据治理手段,如:完备性节制、安然性节制、 靠得住性保障等之外,还分外要求数据库系统能支持大年夜数据量,支持有效的语句优化,强有力的统计功能以及较强的批处置惩罚能力等,在散播式情况的利用中,还要求数据库能支持较强的穿透查询(透明查询)等。Oracle对数据库对付数据完备性节制、安然性、靠得住性等,均有较完善的技巧。散播式透明查询,表和索引的分区也是Oracle的长处,针对决策支持系统,Oracle还有许多相适应的机制,包管决策支持系统的成功及效率。

Oracle能支持大年夜型及超大年夜型数据库系统,在利用实例中,Oracle支持的最大年夜数据库为几十个TB。从技巧的角度上着,Oracle所支持的数据库最大年夜容量的限定为512PB(1PB=1024TB),以是实际上只取决于硬盘空间。

当数据库必要扩充时,Oracle只必要一条敕令就可扩充数据库,而不必要引起全部数据库的重构。别的,Oracle还供给了富厚的数据分区技巧,使对大年夜量历史数据的治理加倍方便,处置惩罚更有效率。对付超大年夜规模数 据量的支持,以及有效的数据分区手段,为决策支持利用系统奠定了坚实的基 础。

决策支持系统一样平常会涉及到许多不合要求的统计以及科学谋略等,Oracle供给的SQL语句,在满意了SQL评议的标准要求之外,还有富厚的函数及谋略功能,如单值函数(数字型、字符型等等)、强有力的聚拢运算、日期函数 ,Cube和Rollup, Rank (Top-N ), Rate, Sample(取样)等等,这些函数的机动运用,不仅能大年夜大年夜简化利用法度榜样的编程,并且可以直接在Oracle的内存缓冲区直接谋略,削减了大年夜量数据在数据库及利用法度榜样之间的互换,加快运行的效率。

别的,Oracle还有机动的查询优化机制,确保查询操作的快速完成。对涉及到较大年夜的数据量,可能必要较长光阴来处置惩罚的查询语句,Oracle能自动将其分化成几个部分,使用Oracle核心的多线索多进程布局,进行多线索的并行处置惩罚。同时,对付大年夜数据量的I/O操作,Oracle也能充分使用并行的I/O处置惩罚,把较挥霍光阴的I/O,操作使用并行的要领低落系统等待的光阴。Oracle已申请专利的位图索引,星型并行查询技巧尤着实用于数据仓库的查询。

Oracle还具有支持极强的批处置惩罚能力,如数据库核心中的SQL*Loader,前进了数据库批量加截的速率,SQL*Plus也具有极强的处置惩罚能力,能以批处置惩罚要领进行数据造访,及数据更新。

Sybase支持大年夜型及超大年夜型数据库的能力很差,完备性约束寄托事后触发还退、复制办事器、多功能通用网关以及用户编程一路和谐实现;散播式处置惩罚前提下的查询和改动均不因此自动透明要领进行,复制无法使用两阶段提交技巧,只能采纳异步要领;查询 优化单一,语句的分化优化过重依附于用户来前进机能;并行处置惩罚能力以及批处置惩罚能力都很弱。从这些数据仓库利用的关键技巧来说,可以说Sybase ASE的数据仓库支持能力是异常差的。

以是Sybase购买了一个产品来增补这方面的缺陷,并改名为Sybase IQ. 但这个产品与Sybase ASE并不兼容,不能象造访ASE一样经由过程T-SQL造访。它经由过程建立基于位的索引加快查询。但它只能用于查询,而且当数据量跨越GB级今后机能会有显着的下降。并发造访的用户很有限,由于每个连接都邑耗损大年夜量内存。以是Sybase IQ的可伸缩性较差,不适用于大年夜规模的数据仓库。

您可能还会对下面的文章感兴趣: