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)不兼容,大大加重了编程人员的负担,延长了开发周期。