三大主流关系数据库
Oracle
、
DB2
和
SQL Server
之间的比较
甲骨文、
IBM
和微软是关系数据库产品的前三强,由表中数据可以看出
,
MS SQL Server
的市场份额增长速度是最快的,
Oracle
的市场份额呈下滑趋势。而且根据
2006
年
Gartner
的调查数据显示,
SQL Server
数据库在非主机市场上的市场份额从
2003
年以来正以
18%
的速度快速增长,市场占有率达
26%
,位居第二位。
SQL Server
的市场份额增长如此快,主要归功于
SQL Server 2005
。
SQL Server 2005
在中国市场创下了
3
倍于市场平均增长率的增长速度,市场销售额同比增长
SQL Server 2005
凭借其在企业级数据管理、开发工作效率和商业智能方面的出色表现赢得了众多用户的青睐,成为目前唯一能够真正胜任从低端到高端任何数据应用的企业级数据库平台。据
IDC
统计,中国数据库市场平均年增长率保持在
10%-12%
,而
SQL Server 2005
以惊人的增长速度,重新定义了企业级市场的格局,成为业界增长最快的数据库产品。同
Oracle
和
IBM
相比,微软在数据库市场只能算后起之秀,但它凭借自下而上及其低价策略,以强劲的增长势头,一点点蚕食着
IBM
与
Oracle
在数据库版图内的疆土。
<o:p></o:p>
在价格上,
SQL Server 2005
的售价与
IBM
的
DB2
以及
Oracle
的基本持平,但
DB2
和
Oracle
还要收取很多额外费用。
SQL Server 2005
的基本产品包,加上数据管理产品、商业智能产品及多核心支持的所有费用仅为其他厂商的
1/10
。
在功能和性能上,
IBM
的
DB2
一直是高端产品,它在高端市场的地位很牢固,微软和
Oracle
无法与之抗衡。而在中低端市,也是最大的一块市场,被
Oracle
和微软所占据,两家公司竞争非常激烈。下面主要比较
Oracle
和
SQL Server 2005
在功能和性能差别。
1.
平台。
Oracle
走的是多平台兼容的道路,
Oracle
的产品可以运行于各种主流的操作系统平台,而
SQL Serve 2005
深深植根在
Widows
平台上。
Oracle
在兼并了
RDB
后更是提供了对
VMS
环境的支持,而
SQL Server
仅仅支持
Windows
操作系统,但它与
windows
天衣无缝的结合,将其性能发挥到了极致,这是
windows
平台下的
Oracle
无法比拟的。
2.
操作易用性。
Oracle
由于有了各类
Java GUI
的支持,迅速弥补了这一方面与
SQL Server
的差距,但在易用性上仍不如
SQL Server 2005
,
SQL Server
是公认最好用的数据库产品。由于
SQL Server 2005
操作相对简单,必然会赢得很大一部分客户的支持,这也是
SQL Server 2005
市场份额增长如此迅速的重要原因之一。
3.
客户端支持。在数据库连接方面,
SQL Server 2005
有
ADO
、
OLE DB
、
DAO
、
ODBC
和新加入的
ADO.NET
、
Native Client
支持;
Oracle
有
JDBC
、
ODBC
、
OLE DB
、
OCI
的支持,并且提供了
NET
版的
Oracle Client Provider
。但在前台开发工具中,
SQL Server 2005
与
Visual Studio 2005
有着天衣无缝的结合,而且
C#
可以在
SQL Server 2005
开发中使用,这必然为前台开发人员提供了很大的便利。
4.
Oracle
对
Java
的支持非常强大,而
SQL Server 2005
增加了对
CLR
的支持,也可以内嵌
C#
语言。
SQL Server 2005
基本上实现了一个“完整版的
Hibernate
”,不仅仅是存储过程、触发器、视图,而是整个
SQL Server 2005
环境的对象化支持。
5.
国际化、本地化方面双方的支持都非常完备,难分伯仲。
6.
对移动设备的支持。双方均有移动设备版的产品,可以嵌入到各种移动设备中使用。由于微软有自己的嵌入式操作系统
Windows CE
,基于该平台上的开发工具
Visual Studio CE
,再加上微软的嵌入式
SQL Server
,可以为用户得供一套高效、可靠、方便的嵌入式开发环境。
7.
增强的
Reporting Service
和
Notification Service
。
SQL Server 2005
与
Oracle 1Og
在报表服务和通知服务两个方面平分秋色。
8.
对
XML
的支持。
SQL Server 2005
对
XML
的支持异常强大,不仅支持
XML
存储,而且还新增一种
XML
数据类型,用户可以通过
XML
函数可对
XML
数据类型进行方便的操作,同时也可以利用
XQuery
等来操作
XML
数据。在对
XML
的支持上,
SQL Server 2005
与
Oracle >
可以说是旗鼓相当,都很强大。
9.
数据挖掘。
Oracle <
提供的数据挖掘工具
data miner
提供了多种算法,而且以
API
的形式提供给用户调用。
SQL Server 2005
提供了
9
大类数据挖掘算法,有
Report Service
和
Analysis service
作为支持,并且前台还有
XML/A
来显示结果,其数据挖掘功能也是异常强大。在数据挖掘方面,两者各有优势,难分高低。
10.
空间数据库的开发。
Oracle
中提供了一个完整的
2-D
,
3-D
数据开发平台,而
SQL Server 2005
中没有对应的产品,这是
SQL Server 2005
的缺点。
总之
SQL Server 2005
在功能上与
Oracle
不相上下,在性能上直逼
Oracle
。 而
SQL Server 2005
凭借其操作简便,有应用平台
Windows
和开发工具
Visual Studio 2005
作为支持,必将有很好的发展前景,也将赢得更多的用户,其市场占有率必定会越来越大
四大数据库的比较(SQLServer、Oracle、Sybase和DB2)
SQL Server
只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据量的关键业务时。
Oracle
能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。
Sybase ASE
能在所有主流平台上运行(包括 windows)。 但由于早期Sybase与OS集成度不高,因此VERSION 11.9.2以下版本需要较多OS和 DB级补丁。在多平台的混合环境中,会有一定问题。VERSION 12.0以上版本得到了一定的改进。
DB2
能在所有主流平台上运行(包括windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。
可伸缩性,并行性
SQL server
并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。
Oracle
并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要,用户可以把数据库移到UNIX中。 Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。
Sybase ASE
虽然有DB SWITCH来支持其并行服务器,但由于DB SWITCH在技术层面还未成熟,且只支持版本12.5以上的ASE SERVER,因为DB SWITCH技术需要一台服务器充当SWITCH,从而在硬件开销上会有所增加。
DB2
具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点。
安全性
SQL server
没有获得任何安全证书。
Oracle Server
获得最高认证级别的ISO标准认证。
Sybase ASE
获得最高认证级别的ISO标准认证。
DB2
获得最高认证级别的ISO标准认证。
性能
SQL Server
多用户时性能不佳
Oracle
性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录。
Sybase ASE
性能接近于 SQL Server。但在UNIX平台下的并发性要优与 SQL Server。
DB2
性能较高适用于数据仓库和在线事物处理。
客户端支持及应用模式
SQL Server
C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接.
Oracle
多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。
Sybase ASE
C/S结构,可以用ODBC,Jconnect,Ct-library等网络客户连接。
DB2
跨平台,多层结构,支持ODBC,JDBC等客户
操作简便
SQL Server
操作简单,但只有图形界面。
Oracle
较复杂,同时提供GUI和命令行,在windowsNT和unix下操作相同
Sybase ASE
较复杂,同时提供GUI和命令行。但GUI较差,常常无法及时状态,建议使用命令行。
DB2
操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同
使用风险
SQL server
完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。
Oracle
长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。
Sybase ASE
向下兼容, 但是ct-library 程序不益移植。
DB2
在巨型企业得到广泛的应用,向下兼容性好。风险小。
经过上述比较,我们不难发现,DB2是最好的数据库。