哪里有介绍SQL Server、Oracle、SyBase、MySQL、IBM DB2、Informix这些数据库的优缺点的文章?

解决方案 »

  1.   

    找到一些,共享出来
    Oracle8i和Microsoft SQL Server7.0比较
    >> 体系结构 Microsoft按照客户/服务器体系结构的分布进行操作。这种方法产生不必要的代价和复杂性。在Internet中,Oracle已经发现了一个较好的答案。在Internet Computing的多层(multi-tiered)体系结构中,集中(centralization)可以简化应用的部署和维护,数据的管理和备份,并向客户提供了高级的性能、安全性与可靠性——结果使总的操作成本更低。Oracle具有使所有数据和文档存储在少数几个高性能数据库的能力,这种能力使客户可以集中管理他们所有的数据,并且信息管理和访问更加容易、可靠且价格更加便宜。 >> 开放(openness)SQL Server只在Windows上运行,MicroSoft这种专有策略的目标是将客户锁定到Windows环境中,限制客户通过选择一个开放的基于标准的解决方案来获取革新和价格竞争带来的好处。此外,人们也都知道,Windows平台本身的可靠性、安全性和克伸缩性也是有限的。 Oracle能在所有主要的平台(其中包括Windows)上运行,并且完全支持所有的工业标准,所以,客户可以利用很多种第三方应用程序、工具、网关和管理实用程序。Oracle采用开放策略,它使得客户可以选择一种最适合他们特定需要的解决方案。利用Oracle8i,操作系统实质上将变得无关紧要。Oracle8i的Internet文件系统(iFS)是一种突破,这种突破性给所有数据类型提供了一种易于使用的数据管理接口,这样减少了客户对Windows之类的专用操作系统的依赖。 >> 可伸缩性由于SQLServer7.0的并行实施和共存模型并不成熟,这使得人们更加关心该产品处理日益增多的用户数和数据卷(volumes)的能力。Oracle在下列两个方面提供了一个优越的可伸缩性:簇:Oracle并行服务器通过使一组节点共享同一簇中的工作负载来扩展Windows NT的能力,Oracle提供具有高可用性和高伸缩性的簇解决方案,而Microsoft只提供克服错误的簇。根据Gartner Group的一份报告(10/97),Microsoft在2001年以前将不会有一个可伸缩的簇解决方案。 Oracle自从1997年以来就已经有这种能力。 
    伸缩到其他操作系统:因为Oracle是一个开放的解决方案,客户可以从他们的系统移到Unix或另一个操作系统,当Windows NT不能满足他们的需要。SQL Server与单个平台的结合意味着,当一个客户达到Windows NT的限制时,除了放弃他们的系统并移到一个新平台上的一个新数据库以外——一个最能节省时间和金钱的建议,他们再也没有其他选择。 
    >> 安全性 由于Internet的出现而带来的全球数据访问也同时增加了潜在的安全危险。对于数据库的安全要求决不会比以前更高,而SQL Server7.0还没有获得任何类型的安全证书。相比之下,Oracle是唯一获得最高认证级别的ISO标准认证的数据库。Oracle高级的安全特性考虑了强制实施的细小权限,先进的审查,增强的访问控制,安全的分布是处理与复制,以及使用附加的外部签发机制的能力。SQL Server7.0没有这些特性。利用Oracle产品,企业可以将真正集成的安全机制廉价地迁入到业务系统中。 >> 可扩展性今天的Internet是一个令人激动的新世界,它具有鲜明的图像,实时的视频点播,高保真的语音和声音,以及诸如金融数据趋势和地理编码之类的复杂信息。通过集中管理文本、图像、音频、视频和地理信息,Oracle8i的interMedia使客户能够利用Web的多媒体特性。相比之下,Microsoft SQL Server 7.0对非传统的数据类型缺乏内置的支持。作为一种替代的策略,Microsoft提倡将非传统的数据存储到单独的服务器里的平面(flat)文件中,然后使用OLE-DB将它们链接在一起。使用这种策略,集成在Web中发现的各种数据类型,将会产生复杂的、不安全的、维护量大的数据包(mess),这种数据包缺乏事物的完整性。 >> 性能低性能可能是很致命的(fatal),因为雇员的生产能力被阻碍,客户由于过多的等待时间而丢失。根据事物处理委员会(TPC)审查的标准与结果,Oracle提供了比SQL Server7.0更高级的性能。到1998年11月为止,Oracle一直是Windows NT中TPC-D和TPC-C标准的世界记录保持者。实际上,Oracle的NT TPC-C结果几乎比Microsoft的快两倍。Microsoft 从来没有宣布一个TPC-D结果,这就意味着尽管SQL Server7.0中有假定的环境,但它仍然不适合于数据仓库应用。Oracle也保持了SAP,Baan和Peoplesoft标准的世界记录。通过一贯地演示正式标准与实际情况之间的性能关系,Oracle已被证明,它可以处理最紧迫的数据仓库和OLTP应用的工作负载要求。 >> 操作简单使数据库易于安装、使用和管理——组合在一起称为“操作简单“——是一个减少成本的关键因素。尽管Microsoft产品具有易于使用的美誉,但SQL Server7.0缺乏数据库管理的特性,而这种特性是复杂的数据库系统所必须的。例如,对于SQL Server6.5和SQL Server7.0,Microsoft需要使用单独的管理工具。 为了易于安装,Oracle使用了一个基于Java的实用程序,该实用程序提供了安装和运行一个预调整和预配置的Oracle8i数据库所需要的一切内容。“操作简单“的最重要部分是易管理性,Oracle Enterprise Manager(企业管理器)提供一个集成的管理控制台来集中管理多个服务器。客户也可以单独购买所有三个或其中任何一个可选的管理包,这些管理包提供了高级的功能来调整和诊断数据库,管理数据库环境的复杂变化。 >> 革新PC Week已经说过,“SQL Server7.0并没有向客户提供其竞争对手尚未提供的任何新东西。”根据Information Week(9/14/98),“即使在经济的市场中:Windows NT环境,SQL Server7仍然不是OLTP数据库竞争者的对手。”在SQL Server7.0中,许多关键任务数据库应用所必需的功能(高可用性/可伸缩性、安全、性能等)仍然没有。Microsoft现在正在努力地追赶Oracle又一个技术领先的传统,新发布的Oracle8i也不例外。通过诸如iFS、数据库Java、WebDB、interMedia和WebToGo之类的革新,Oracle带头使各个公司获得Internet计算的好处。特别在Windows NT中,由于Oracle是第一个发布NT数据库簇解决方案的厂商,第一次支持超过大内存(VLM),第一次将高可用性和可伸缩性带到安装有Oacle并行服务器的NT中,所以Oracle在扩展NT能力方面已经成为一个明确的领导者。 >> 技术风险SQL Server7.0是一个完全重写的产品版本。该产品经历了联系的延迟,并且具有非常长的beta测试周期,这通常代表开发问题。一份Gartner报告(8/98)说,“引擎的重新设计时非常深的...我们建议在1999年中期以前,不要将该产品部署在规模比较大的产品应用中。”正如一份Giga报告(3/98)所说的那样,“SQL Server仍有许多需要证明。可伸缩性、可靠性、多用户的性能、簇的开发、对象特性的支持等都有问题。”一个特别危险的因素是重新加在数据库问题。由于基本的数据结构发生变化,Microsoft将要求所有SQL Server6.0和6.5站点必须先卸载然后重新加载数据,这个过程需要好几天的时间。Microsoft已经承认6.5和7.0之间存在后向兼容问题。利用SQL Server7.0,许多以前存在的基本的6.5代码将必须重写,以便利用象行级锁定和分布联合之类的新特性。公司在使它们的生产率和信息冒风险时必须非常谨慎。 利用Oracle没有任何风险。Oracle8已经发布一年多了,并被部署在成百上千个用户站点上。在500家财团公司中,将近90%的公司使用Oracle产品和服务器。如此广泛的支持是人们对Oracle信任的结果,这种信任来自于Oracle是一个安全和合理的选择。客户将询问自己,在已经有可靠的、先进的Oracle8数据库时,为什们还要冒险使用新的未被证明的SQL Server7.0呢。>> 厂商风险Microsoft的核心能力是在桌面和操作系统软件的开发,该公司在企业级数据管理没有什么经验。从技术和业务来看,Microsoft只在最近才进入数据管理领域,到目前为止还没有获得信任。 Microsoft的成功是由于依靠客户软件的连续废弃与升级,以及硬件和操作系统尽可能的传播。在企业范围内若要获得成功,则要求高效利用已有的数据资源,并合并服务器资源。在另一个方面,Oracle已有二十多年的向客户解决方案的经验。一个公司的数据是它们最有价值的资产,Microsoft不能指望涌进这个市场,然后一夜之间获得信任。Oracle已经花费了几年的艰苦努力才赢得其客户群的信任以及它目前享受到的荣誉。每天成千上万的客户在Oracle上运行它们的业务所获得的成功就是Oracle技术和业务模型完美的有利证明。 总结SQL Server7.0已比原来的计划几乎万两年发行。在这段时间内,有关哪个厂商具有Windows NT上最好的数据库解决方案的战斗已经打响,并最终由Oracle获胜。自从1996年以来,Oracle一直是Windows NT上的市场领导者。在过去的四年里,Oracle已在NT上享有令人震惊的2000%的收入增长。在这期间,Microsoft的收入占NT市场的份额实际上已经减少了27.8%。Oracle的伙伴的巨大成功补充了Oracle的客户的成功。一份最近的ARM研究(1998)表明,在1997年的EPT市场中,数据库营业收入的52%进入Oracle,相比之下,Microsoft SQL Server只占5%。事实上,在ASP的3200个NT安装中,70%是在Oracle上。只有20%是在SQL Server上。 随着它们最新的数据库升级,Microsoft达到了Oracle在十年前通过Oracle6达到的水平。SQL Server7.0仍然比Oracle8i落后几年,并且在可伸缩性、体系结构、功能、安全性、扩展性等方面存在严重问题,这将阻碍它在关键任务应用中的使用。客户对选择SQL Server7.0将持严重的保留态度,特别是在Oraclr8i这样高可靠和先进的产品已经存在的时候。 
      

  2.   

    再来比较SQL Server与Oracle、DB2
    出处:不祥 
    关键词:Sql Server, Oracle, 其他
    1.选择一个好的数据库是非常重要的。2.如何选择一个好的数据库开放性:
    SQL Server    
        只能在windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据量的关键业务时.       Oracle    
        能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。DB2
        能在所有主流平台上运行(包括windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%.可伸缩性,并行性
    SQL server
    DB2    
        并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。Oracle
        平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。
        如果windowsNT不能满足需要, 用户可以把数据库移到UNIX中。DB2
        DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境.
        数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日
    志。数据库分区有时被称为节点或数据库节点
          
    安全性
    SQL server        
    没有获得任何安全证书。    Oracle Server
    获得最高认证级别的ISO标准认证。DB2
    获得最高认证级别的ISO标准认证。性能
    SQL Server          
    多用户时性能不佳  
      
    Oracle
    性能最高, 保持windowsNT下的TPC-D和TPC-C的世界记录。DB2
    适用于数据仓库和在线事物处理性能较高。
    客户端支持及应用模式
    SQL Server        
    C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接.    Oracle
    多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接  
      
    DB2
    跨平台,多层结构,支持ODBC,JDBC等客户
      操作简便
    SQL Server           
    操作简单,但只有图形界面. 
       
    Oracle
    较复杂, 同时提供GUI和命令行,在windowsNT和unix下操作相同       DB2
    操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同   
    使用风险
    SQL server        
    完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。
         
    Oracle
    长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。DB2
    在巨型企业得到广泛的应用,向下兼容性好。风险小。 
      

  3.   

    上一页 首页PostgreSQL 对 MySQL: 没有偏见的比较
      PostgreSQL MySQL 
    SQL标准兼容性 Postgres 支持SQL92的一个通用的子集;而且也支持这个子集的一个超集 — Postgres 在这个子集中加入了一些面向对象的特性。开发组正在实现外部连接(OUTER JOIN)。  MySQL 支持SQL92的一个子集,但是缺乏一些重要的特性 — 例如子查询。  
    速度 Postgres 有一些慢,但是有许多方法来提高它的执行速度 — 从使用 -F 选项到用Postgres优化过的查询语句重写程序 — 可以使用不同的优化设置(“SET KSQ", "SET GEQO")来进行优化。Postgres 对于每个连接都生成一个子进程 — 而这些生成子进程并建立后台服务进程的步骤减慢了 Postgres 的执行速度。  MySQL 在进行简单的 SELECT 查询时速度非常快,但如果执行那些稍微有点儿复杂的查询,速度就会下降很多。MySQL 在处理客户端连接时速度非常快,因此MySQL 很适合于 Web 应用 — 如果你需要同时处理上百个的CGI的连接/断开请求,你会很高兴避免较长时间的启动处理程序的过程。 
    稳定性 Postgres 在这方面表现很差。偶尔的连接中断,服务程序崩溃和内存泄漏是常有的事。当然,6.5版本的表现要比6.4版本好得多,我希望7.0版本能比6.5 版本更好,但是...
    为了能够处理更多的同时的连接,你需要使用特殊的选项对 Postgres 进行重新编译 — 将后台进程的数目设为最大。Tom Lane (注:PostgreSQL 的主要开发者之一。)说过:“没有经过重新编译的 6.5 版本的 Postgres 最多能够支持1024个后台进程。如果你要搭建一个负荷很大的能够支持更多后台进程数目的数据库平台,那么你必须增大 MAXBACKENDS 的设置然后重新编译。但是相对于 postmaster 运行时最大后台进程数目这个限制,编译时最大后台进程数目的限制是建立更多后台进程的更大的障碍。 即使在我的站点工作最繁忙的时候,MySQL仍然工作得很好;在每秒处理成百个连接时,它当然会有一些问题,但这些问题是可以解决的— MySQL 有很多的调整选项。偶尔的连接中断和程序崩溃很罕见;我也从不需要使用备份来恢复数据。  
    数据完整性 Postgres 有事务的提交/撤销的特性;它的开发小组正在实现外部键(FOREIGN KEY)特性和其他实现数据完整性的特性。  MySQL不支持有关数据完整性的任何特性。  
    特别的服务器端的特性 Postgres 支持规则,触发器以及用C,pl/pgsql,perl和tcl语言编写的服务器接 口函数。  MySQL只提供用C语言实现服务器共享函数库这种机制(可能使用上还不太方便)。  
    安全性 Postgres 有类似的安全特性,但离完美还差一点点。例如,如果用户能够连接到数据库,他(她)就能够建立表,因此可以进行拒绝服务攻击(DOS)。另外Postgres能够使用不同的标准-网络地址段,ident认证字等来限定登录的用户。 MySQL对用户访问的控制非常棒。你可以基于用户名、表名和客户机名任意授予(GRANT)或废除(REVOKE)权限。  
    锁定和并行的支持 PostgreSQL 有一个称为 MVCC(多版本并行控制)的并行处理机制,它可以媲美甚至好于最好的商业数据库。PostgreSQL 能进行行一级的锁定,能够在一个会话中锁定一些行进行(执行)写操作,而不影响其他会话对这些行的操作等等。  MySQL只能锁定表来执行(并行的)读或写。 
    大对象 在 Postgres 中,大对象是一种很特殊的东西。你必须用 lo_create 函数建立大对象并将函数的返回结果 — 即OID(注:对象标识),存到表中。然后你可以根据 OID 使用其他一些函数 — lo_read/lo_write 等来处理 LOB 对象。Postgres也有一些地方不支持大对象 — pg_dump 不能将 LOB 对象输出到脚本中;你必须建立你自己的备份机制实现大对象的备份。开发小组正在实现大的行(large rows);这将取代目前的 LOB。 在 MySQL 中,文本的和二进制的 LOB 对象只是表中的域。在执行插入、替换、选择和删除时,它象你希望的那样工作 — 没什么特别之处。在函数中使用大对象和用大对象建立索引时会有一些限制。 
    修改表 Postgres 支持一定程度上的对表的修改。你可以添加列,对列重命名,对表重命名。  MySQL 具有修改表的所有选项 — 你能够任意添加列,删除列,对列重命名或更改列的类型 — (对于)在繁忙的服务器上,当你不想锁住整个数据库然后备份、更改类型定义,再装回去的时候,这些特性很有用。 
    本地语言支持 使用 --enable-locale 选项编译的 Postgres 进行了一些本地化的设置,它能改变每个客户端(不是每个数据库)的本地化设置,这使得使用上比较灵活。用--with-mb(多字节支持)编译的 Postgres 可以在运行时在一些预先定义好的字符集之间进行转换。 MySQL在本地化设置上做了一些工作,但不多。  
    Postgres和MySQL都还需要在日期/时间解析/生成的本地化上继续努力。它们都不能够处理多字符集的数据库。