1、ibm 的db2
db2是ibm著名的关系型数据库产品,db2系统在企业级的应用中十分广泛。截止2003年,全球财富500强(fortune 500)中有415家使用db2,全球财富100强(fortune100)中有96家使用db2,用户遍布各个行业。2004年ibm的db2就获得相关专利239项,而oracle仅为99项。db2目前支持从pc到unix,从中小型机到大型机,从ibm到非ibm(hp及sun unix系统等)的各种操作平台。
ibm绝对是数据库行业的巨人。1968年ibm在ibm 360计算机上研制成功了ims这个业界第一个层次型数据库管理系统,也是层次型数据库中最为著名和最为典型的。1970年,ibm e.f.codd发表了业界第一篇关于关系数据库理论的论文“a relational model of data for large shared databanks”,首次提出了关系模型的概念。1974年,ibm don chamberlin和ray boyce通过system r项目的实践,发表了论文“sequel:a structured english query language”,我们现在熟知sql就是基于它发展起来的。ibm 在1983年发布了database 2(db2)for mvs(内部代号为“eagle”),这就是著名的db2数据库。2001年ibm以10亿美金收购了informix的数据库业务,这次收购扩大了ibm分布式数据库业务。2006 db2 9作为第三代数据库的革命性产品正式在全球发布。
作为关系数据库领域的开拓者和领航人,ibm在1977年完成了system r系统的原型,1980年开始提供集成的数据库服务器—— system/38,随后是sql/dsforvse和vm,其初始版本与systemr研究原型密切相关。
db2 formvsv1 在1983年推出。该版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率。1988年db2 for mvs 提供了强大的在线事务处理(oltp)支持,1989 年和1993 年分别以远程工作单元和分布式工作单元实现了分布式数据库支持。最近推出的db2 universal database 6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括linux在内的一系列平台。
2、 oracle
oracle 前身叫sdl,由larry ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,oracle公司引入了第一个商用sql 关系数据库管理系统。oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前oracle关系数据库产品的市场占有率名列前茅。
oracle公司是目前全球最大的数据库软件公司,也是近年业务增长极为迅速的软件提供与服务商。idc(internet data center)2007统计数据显示数据库市场总量份额如下:oracle 44.1% ibm 21.3%microsoft 18.3% teradata 3.4% sybase 3.4%。不过从使用情况看,bz research的2007年度数据库与数据存取的综合研究报告表明76.4%的公司使用了microsoft sql server,不过在高端领域仍然以oracle,ibm,teradata为主。
3、 informix
informix是ibm公司出品(2001)的关系数据库管理系统(rdbms)家族。作为一个集成解决方案,它被定位为作为ibm在线事务处理(oltp)旗舰级数据服务系统。informix在1980年成立,目的是为unix等开放操作系统提供专业的关系型数据库产品。公司的名称informix便是取自information 和unix的结合。informix第一个真正支持sql语言的关系数据库产品是informix se(standardengine)。informixse是在当时的微机unix环境下主要的数据库产品。它也是第一个被移植到linux上的商业数据库产品。
4、sybase
美国sybase公司研制的一种关系型数据库系统,是一种典型的unix或windowsnt平台上客户机/服务器环境下的大型数据库系统。sybase sql server 是 sybase 公司产品。sybase公司成立于1984年11月,产品研究和开发包括企业级数据库、数据复制和数据访问。
sybase公司成立于1984年,公司名称“sybase”取自“system”和“database” 相结合的含义。sybase公司的创始人之一bob epstein 是ingres 大学版(与system/r同时期的关系数据库模型产品)的主要设计人员。公司的第一个关系数据库产品是1987年5月推出的sybase sqlserver1.0。sybase首先提出client/server 数据库体系结构的思想,并率先在sybase sqlserver 中实现。
起初,为了在企业级数据库市场上与oralce和ibm竞争,sybase与microsoft合作共同开发数据库产品。1988年,sybase、microsoft和asbton-tate联合开发了os/2系统上的sql server 1.0,本质上和sybase sql server 3.0是一样的。而后microsoft致力于将sql server移值到win nt平台上。sybase与microsoft的合作关系一直坚持到sql server 4.21(1993),随后各自开发相应平台的数据库系统。1995年,sybase发布了sql server 11.0。为了区别于microsoft sql server, sybase将其11.5以及以上版本的sql server改名为adaptive server enterprise (ase)。2005年9月,sybase强势发布adaptive server enterprise 15。sybase sql server与microsoft sql server都使用t-sql(transact-sql 由sql扩展而来)做为数据库语言。
sybase提供了一套应用程序编程接口和库,可以与非sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。sybase通常与sybasesqlanywhere用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用该公司研制的powerbuilder为开发工具,在我国大中型系统中具有广泛的应用。
5、 sql server
microsoft sql server是微软公司开发的大型关系型数据库系统。sql server的功能比较全面,效率高,可以作为中型企业或单位的数据库平台。sql server可以与windows操作系统紧密集成,不论是应用程序开发速度还是系统事务处理运行速度,都能得到较大的提升。对于在windows平台上开发的各种企业级信息管理系统来说,不论是c/s(客户机/服务器)架构还是b/s(浏览器/服务器)架构,sql server都是一个很好的选择。sql server的缺点是只能在windows系统下运行。
1987 年,微软和ibm合作开发完成os/2,ibm 在其销售的os/2 extendededition 系统中绑定了os/2database manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向sybase,同sybase 签订了合作协议,使用sybase的技术开发基于os/2平台的关系型数据库。1989年,微软发布了sql server 1.0 版。 microsoft在与sybase分道扬镳后,随后在其6.05和7.0版本中重写了核心数据库系统,如今sqlserver 2008即将到来。
6、 postgresql
postgresql是以加州大学伯克利分校计算机系开发的 postgres,版本 4.2为基础的对象关系型数据库管理系统(ordbms)。 postgres 领先的许多概念只是在非常迟的时候才出现在商业数据库中。
postgresql 是一种特性非常齐全的自由软件的对象——关系性数据库管理系统(ordbms),它的很多特性是当今许多商业数据库的前身。postgresql最早开始于bsd的ingres项目。postgresql 的特性覆盖了sql-2/sql-92和sql-3。首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前postgresql 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统.
7、mysql
mysql是一个小型关系型数据库管理系统,开发者为瑞典mysql ab公司。在2008年1月16号被sun公司收购。目前mysql被广泛地应用在internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。mysql的官方网站的网址是: www.mysql.com
8、access数据库
美国microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面关系型数据库管理系统。它结合了 microsoft jet database engine 和 图形用户界面两项特点,是 microsoft office的成员之一。access能够存取 access/jet、microsoft sql server、oracle,或者任何 odbc 兼容数据库的资料。access界面友好而且易学易用,作为office套件的一部分,可以与office集成,实现无缝连接access提供了表(table)、查询(query)、窗体(form)、报表(report)、宏(macro)、模块(module)等用来建立数据库系统的对象。提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化。
access是入门级小型桌面数据库,性能安全性都很一般。可供个人管理或小型网站之用。access不是数据库语言,只是一个数据库程序。目前最新版本为office 2007。其主要特点如下:
(1)完善地管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功能。
(2)强大的数据处理功能,在一个工作组级别的网络环境中,使用access开发的多用户数据库管理系统具有传统的xbase(dbase、foxbase的统称)数据库系统所无法实现的客户服务器(cient/server)结构和相应的数据库安全机制,access具备了许多先进的大型数据库管理系统所具备的特征,如事务处理/出错回滚能力等。
(3)可以方便地生成各种数据对象,利用存储的数据建立窗体和报表,可视性好。
(4)作为office套件的一部分,可以与office集成,实现无缝连接。
(5)能够利用web检索和发布数据,实现与internet的连接。 access主要适用于中小型应用系统,或作为客户机/服务器系统中的客户端数据库。
9、foxpro数据库
最初由美国fox公司1988年推出,1992年fox公司被microsoft公司收购后,相继推出了foxpro2.5、2.6和visualfoxpro等版本,其功能和性能有了较大的提高。 foxpro2.5、2.6分为dos和windows两种版本,分别运行于dos和windows环境下。foxpro比foxbase在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。
visual foxpro由foxpro延伸而来,原名foxbase,是美国fox software公司在1984推出的数据库产品。foxpro在dos上运行,与xbase系列相兼容。foxpro是foxbase的加强版,1992年fox software被微软收购。可以说,visual foxpro是在dbase和foxbase系统的基础上发展而成的。80年代初期,dbase是pc机上最流行的数据库管理系统,当时大多数的管理信息系统采用了dbase作为系统开发平台。后来出现的foxbase几乎完全支持了dbase的所有功能。
visual foxpro出现是xbase系列数据库系统的一个飞跃,其不仅在图形用户界面的设计方面采用了一些新的技术,还提供了所见即所得的报表和屏幕格式设计工具。2002年,随着微软.net口号的提出,发布了visual studio .net。在这个版本的 visual studio中,微软将visual foxpro作为一个单独的开发环境(visual foxpro 7.0)单独销售,不再与studio
集成。2007年3月,微软公司宣布visual foxpro 9将是微软的最后一款桌面数据库开发工具软件,今后将永远不会出现vfp 10。微软将会为vfp 9的普通用户提供支持到2010年1月12日,购买扩展支持服务的用户将可获得到2015年1月13号的服务。visual foxpro只能在windows系统下运行。
10、teradata
teradata数据库是世界上最富盛名、功能最强大的数据仓库管理系统,是teradata公司产品, 1991年被ncr收购。客户主要集中在电信,航空,物流,零售,银行等方面。teradata在全球数据仓库领域处于领先地位。2007年,teradata宣布推出teradata 12解决方案,包括teradata数据库12 (teradata database 12)、teradata工具及实用程序12 (teradata tools and utilities 12),以及通过应用集成和合作伙伴关系提供的专业和咨询服务。该方案是teradata第十二次重大数据库产品改版。
主流数据库详细比较
1、性能
sql server
老版本多用户时性能不佳,新版本的性能有了明显的改善,各项处理能力都有了明显的提高。保持了多项tpc-c纪录。具体参见http://www.tpc.org/
oracle
性能最高,保持windows nt下的tpc-d和tpc-c的世界记录。
sybase
性能较高,支持sun、ibm、hp、compaq和veritas的集群设备的特性,实现高可用性。性能接近于sql server,但在unix平台下的并发性要优与 sql server。适应于安全性要求极高的系统。
db2
适用于数据仓库和在线事物处理,性能较高。客户端支持及应用模式。
informix
性能较高,支持集群,实现高可用性。适应于安全性要求极高的系统,尤其是银行, 证券系统的应用。
2、可伸缩性,并行性
sql server
以前版本sql server并行实施和共存模型并不成熟。很难处理大量的用户数和数据卷。伸缩性有限。新版本性能有了较大的改善,在microsoft advanced servers上有突出的表现,超过了他的主要竞争对手。
oracle
并行服务器通过使一组结点共享同一簇中的工作来扩展window nt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windows nt不能满足需要, 用户可以把数据库移到unix中,具有很好的伸缩性。oracle的并行服务器对各种unix平台的集群机制都有着相当高的集成度。
sybase
新版本具有较好的并行性,速度快,对巨量数据无明显影响,但是技术实现复杂,需要程序支持,伸缩性有限。虽然有db switch来支持其并行服务器,但db switch在技术层面还未成熟,且只支持版本12.5以上的ase server。db switch技术需要一台服务器充当switch,从而在硬件上带来一些麻烦。
db2
db2具有很好的并行性。db2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点,伸缩性有限。
informix
采用单进程多线程的技术,具有较好的并行性。但是仅运行于unix平台,伸缩性有限。
3、安全性
sql server
microsoft advanced server 获得最高安全认证,服务器平台的稳定性是数据库的稳定性的基础,新版本的sql的安全性有了极大的提高。
oracle server
获得最高认证级别的iso标准认证。
sybase
通过sun公司j2ee认证测试,获得最高认证级别的iso标准认证。
db2
获得最高认证级别的iso标准认证。
informix
获得最高认证级别的iso标准认证。
4、操作
sql server
操作简单,采用图形界面。管理也很方便,而且编程接口特别友好(它的sql-dmo让编程变得非常方便!) ,从易维护性和价格上sql server明显占有优势。
oracle
较复杂, 同时提供gui和命令行,在windows nt和unix, linux 下操作相同。对数据库管理人员要求较高。
sybase
复杂,使用命令行操作,对数据库管理人员要求较高。同时提供gui和命令行。但gui较差,常常无法及时状态,建议使用命令行。
db2
操作简单,同时提供gui和命令行,在windows nt和unix下操作相同。
informix
使用和管理复杂,命令行操作。对数据库管理人员要求较高。
5、使用风险
sql server
完全重写的代码,性能和兼容性有了较大的提高,与oracle,db2的性能差距明显减小。该产品的出台经历了长期的测试,为产品的安全和稳定进行了全面的检测,安全稳定性有了明显的提高。经历了长期的测试,不断延迟,许多功能需要时间来证明,并不十分兼容。
oracle
长时间的开发经验,完全向下兼容,得到广泛的应用,完全没有风险。可以安全的进行数据库的升级,在企业、政府中得到广泛的应用。并且如果在winnt上无法满足数据的要求,可以安全的把数据转移到unix上来。
sybase
向下兼容, 但是ct-library 程序不益移植。开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行, 证券行业中得到了广泛的应用。
db2
在巨型企业得到广泛的应用,向下兼容性好。风险小。
informix
开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。
6、开放性
sql server
只能在windows 上运行,c/s结构,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。只支持windows客户,可以用ado,dao,oledb,odbc连接。windows9x系列产品是偏重于桌面应用,nt server适合各种大中小型型企业。操作系统的系统的稳定对数据库是十分重要的。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、易维护性和价格
sql server
从易维护性和价格上sql server明显占有优势。基于microsoft的一贯风格,sql server的图形管理界面带来了明显的易用性,微软的数据库管理员培训进行的比较充分,可以轻松的找到很好的数据库管理员,数据库管理费用比较低,sql server的价格也是很低的,但是在license的购买上会抬高价格。总体来说sql server的价格在商用数据库中是最低的。
oracle
从易维护性和价格体来说oracle的价格是比较高的,管理比较复杂,由于oracle的应用很广泛,经验丰富的oracle数据库管理员可以比较容易的找到,从而实现oracle的良好管理。因此oracle的性能价格比在商用数据库中是最好的。
sybase
sybase的价格是比较低的,但是sybase的在企业和政府中的应用较少,很难找到经验丰富的管理员,运行管理费用较高。
db2
价格高, 管理员少,在中国的应用较少,运行管理费用都很高,适用于大型企业的数据仓库应用。
informix
价格在这些系统中居于中间,与sybase一样,在企业和政府中应用较少,仅在银行中得到了广泛的应用。经验丰富的管理人员较少,运行管理费用高。
8、数据库二次开发
sql server
数据库的二次开发工具很多,包括visual c++, visual basic等开发工具,可以实现很好的windows应用。开发容易。
oracle
数据库的二次开发工具很多,涵盖了数据库开发的各个阶段,开发容易。
sybase
开发工具较少,经验丰富的人员很少。
db2
在国外巨型企业得到广泛的应用,中国的经验丰富的人员很少。
informix
在银行业中得到广泛的应用,但是在中国的经验丰富的人员很少。
