几种常见的主流数据库对比

    作者:课课家教育更新于: 2017-05-17 11:37:53

      开发数据库应用,选择一个好的数据库是非常重要的。目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有SQLServer、Oracle、SYBASE、INFORMIX和DB2。

     开发数据库应用,选择一个好的数据库是非常重要的。目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有SQLServer、Oracle、SYBASE、INFORMIX和DB2。

      1、性能

      SQLServer

      老版本多用户时性能不佳,新版本的性能有了明显的改善,各项处理能力都有了明显的提高。保持了多项TPC-C纪录。具体参见http://www.tpc.org/

      Oracle

      性能最高,保持WindowsNT下的TPC-D和TPC-C的世界记录。

      SYBASE

      性能较高,支持Sun、IBM、HP、Compaq和Veritas的集群设备的特性,实现高可用性。性能接近于SQLServer,但在UNIX平台下的并发性要优与SQLServer。适应于安全性要求极高的系统。

      DB2

      适用于数据仓库和在线事物处理,性能较高。客户端支持及应用模式。

      INFORMIX

      性能较高,支持集群,实现高可用性。适应于安全性要求极高的系统,尤其是银行,证券系统的应用。

      2、可伸缩性,并行性

      SQLServer

      以前版本SQLServer并行实施和共存模型并不成熟。很难处理大量的用户数和数据卷。伸缩性有限。新版本性能有了较大的改善,在MicrosoftAdvancedServers上有突出的表现,超过了他的主要竞争对手。

      Oracle

      并行服务器通过使一组结点共享同一簇中的工作来扩展WindowNT的能力,提供高可用性和高伸缩性的簇的解决方案。如果WindowsNT不能满足需要,用户可以把数据库移到UNIX中,具有很好的伸缩性。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。

      SYBASE

      新版本具有较好的并行性,速度快,对巨量数据无明显影响,但是技术实现复杂,需要程序支持,伸缩性有限。虽然有DBSWITCH来支持其并行服务器,但DBSWITCH在技术层面还未成熟,且只支持版本12.5以上的ASESERVER。DBSWITCH技术需要一台服务器充当SWITCH,从而在硬件上带来一些麻烦。

      DB2

      DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点,伸缩性有限。

      INFORMIX

      采用单进程多线程的技术,具有较好的并行性。但是仅运行于UNIX平台,伸缩性有限。

      3、安全性

      SQLserver

      MicrosoftAdvancedServer获得最高安全认证,服务器平台的稳定性是数据库的稳定性的基础,新版本的SQL的安全性有了极大的提高。

      OracleServer

      获得最高认证级别的ISO标准认证。

      SYBASE

      通过Sun公司J2EE认证测试,获得最高认证级别的ISO标准认证。

      DB2

      获得最高认证级别的ISO标准认证。

      INFORMIX

      获得最高认证级别的ISO标准认证。

      4、操作

      SQLServer

      操作简单,采用图形界面。管理也很方便,而且编程接口特别友好(它的SQL-DMO让编程变得非常方便!),从易维护性和价格上SQLServer明显占有优势。

      Oracle

      较复杂,同时提供GUI和命令行,在WindowsNT和Unix,Linux下操作相同。对数据库管理人员要求较高。

      SYBASE

      复杂,使用命令行操作,对数据库管理人员要求较高。同时提供GUI和命令行。但GUI较差,常常无法及时状态,建议使用命令行。

      DB2

      操作简单,同时提供GUI和命令行,在WindowsNT和Unix下操作相同。

      INFORMIX

      使用和管理复杂,命令行操作。对数据库管理人员要求较高。

      5、使用风险

      SQLServer

      完全重写的代码,性能和兼容性有了较大的提高,与Oracle,DB2的性能差距明显减小。该产品的出台经历了长期的测试,为产品的安全和稳定进行了全面的检测,安全稳定性有了明显的提高。经历了长期的测试,不断延迟,许多功能需要时间来证明,并不十分兼容。

      Oracle

      长时间的开发经验,完全向下兼容,得到广泛的应用,完全没有风险。可以安全的进行数据库的升级,在企业、政府中得到广泛的应用。并且如果在WINNT上无法满足数据的要求,可以安全的把数据转移到UNIX上来。

      SYBASE

      向下兼容,但是ct-library程序不益移植。开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。

      DB2

      在巨型企业得到广泛的应用,向下兼容性好。风险小。

      INFORMIX

      开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。

      6、开放性

      SQLServer

      只能在Windows上运行,C/S结构,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。只支持Windows客户,可以用ADO,DAO,OLEDB,ODBC连接。Windows9X系列产品是偏重于桌面应用,NTserver适合各种大中小型型企业。操作系统的系统的稳定对数据库是十分重要的。Windows平台的可靠性,安全性经过了最高级别的C2认证的。在处理大数据量的关键业务时提供了较好的性能。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据库。

      Oracle

      能在所有主流平台上运行(包括Windows)。完全支持所有的工业标准。采用完全开放策略。多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。可以使客户选择最适合的解决方案。对开发商全力支持。

      SYBASE

      能在所有主流平台上运行,C/S结构,可以用ODBC、Jconnect、Ct-library等网络客户连接。在银行业中得到了广泛的应用。但由于早期Sybase与OS集成度不高,因此VERSION11.9.2以下版本需要较多OS和DB级补丁。在多平台的混合环境中,会有一定问题。

      DB2

      能在所有主流平台上运行(包括windows)。有较好的开放性,最适于海量数据。跨平台,多层结构,支持ODBC,JDBC等客户。在大型的国际企业中得到最为广泛的应用,在全球的500家最大的企业中,几乎85%以上采用DB2数据库服务器,而国内到97年约占5%。

      IINFORMIX

      仅运行在UNIX平台,包括SUNOS、HPUX、ALFAOSF/1。在银行中得到广泛的应用。

      7、易维护性和价格

      SQLServer

      从易维护性和价格上SQLServer明显占有优势。基于Microsoft的一贯风格,SQLServer的图形管理界面带来了明显的易用性,微软的数据库管理员培训进行的比较充分,可以轻松的找到很好的数据库管理员,数据库管理费用比较低,SQLServer的价格也是很低的,但是在License的购买上会抬高价格。总体来说SQLServer的价格在商用数据库中是最低的。

      Oracle

      从易维护性和价格体来说Oracle的价格是比较高的,管理比较复杂,由于Oracle的应用很广泛,经验丰富的Oracle数据库管理员可以比较容易的找到,从而实现Oracle的良好管理。因此Oracle的性能价格比在商用数据库中是最好的。

      SYBASE

      SYBASE的价格是比较低的,但是SYBASE的在企业和政府中的应用较少,很难找到经验丰富的管理员,运行管理费用较高。

      DB2

      价格高,管理员少,在中国的应用较少,运行管理费用都很高,适用于大型企业的数据仓库应用。

      INFORMIX

      价格在这些系统中居于中间,与SYBASE一样,在企业和政府中应用较少,仅在银行中得到了广泛的应用。经验丰富的管理人员较少,运行管理费用高。

      8、数据库二次开发

      SQLServer

      数据库的二次开发工具很多,包括VisualC++,VisualBasic等开发工具,可以实现很好的Windows应用。开发容易。

      Oracle

      数据库的二次开发工具很多,涵盖了数据库开发的各个阶段,开发容易。

      SYBASE

      开发工具较少,经验丰富的人员很少。

      DB2

      在国外巨型企业得到广泛的应用,中国的经验丰富的人员很少。

      INFORMIX

      在银行业中得到广泛的应用,但是在中国的经验丰富的人员很少。

      实际上,数据库种类不止我们上面提到的这几种,每一种数据库都有它自己的特征和适合应用的范围,这也是为什么会有这么多种数据库的原因之一。

          PaulGraham向我们展示了一个有趣的比较各种编程语言的方法:阐述各种编程语言都是用来解决什么问题的。我发现这种方法放在数据库上同样好用:

      Oracle:我们需要企业级数据库。

      MySQL:Oracle不开源。

      PostgreSQL:MySQL的功能不够多。

      SQLite:你可以把我嵌入到任何地方。这样,4种数据库够大家用了。

      MongoDB:为什么我们要用join和模式(schema)?

      CouchDB:为什么我们要有集合(collection)?

      Redis:为什么我们要面向文档?

      Memcached:为什么我们要用硬盘?

      Neo4j:SQL缺乏足够的关系。

      Bigtable:MongoDB的对web的扩展性不管好。

      Hbase:Bigtable不开源。

      Cassandra:Bigtable不是Facebook开发的。

      Riak:Cassandra不是用Erlang语言编写的。

      OrientDB:让我们把所有东西都放到同一个数据库里!

      小编结语:

      更多内容尽在可课课家教育!

课课家教育

未登录