» 网友学堂 » MSSQL教程 » SQL Server和DB2大比拼 -> 查看 2007年02月20日 更新
SQL Server和DB2大比拼
作者:问天 发表时间:2007-2-20 12:02 阅读:341次 在百度搜索相关内容

本文从价格、性能、平台支持、SQL语言、产品限制等方面比较SQL Server 2000和DB2 Universal Database version 8.1。
一、平台比较
SQL Server 2000只能在Windows平台上运行,包括Windows 9x/NT/2000/XP和CE。和SQL Server 2000相比, DB2 Universal Database version 8.1支持所有主流平台,除了Windows系列之外,还包括AIX系统、HP-UX系统、Linux、Sun Solaris等。
1.1 硬件需求
安装SQL Server 2000需要Intel或兼容的硬件平台,同时还应当满足:
[color=#FFFFFF'][/color]








硬件

[color=#FFFFFF'][/color]



需求

[color=#FFFFFF'][/color]








处理器


[color=#FFFFFF'][/color]


Pentium 166 MHz或更高

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]





内存



32 MB RAM(桌面引擎的最小内存需求)


64 MB RAM(所有其他版本的内存需求)

推荐128 MB RAM或更高
[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]


硬盘空间


[color=#FFFFFF'][/color]


完整安装:270 MB


典型安装:250 MB

最小安装:95 MB

桌面引擎:44 MB

分析服务:最小50 MB,典型安装130 MB

[color=#FFFFFF'][/color]

英语查询:80 MB
DB2 Universal Database v8.1支持Windows平台、AIX系统、HP-UX系统、Linux(Intel)和Sun Solaris等。在Windows平台上安装DB2 Universal Database v8.1的硬件需求如下:







硬件

[color=#FFFFFF'][/color]



需求


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]






处理器

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


Pentium或兼容处理器


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]


内存

[color=#FFFFFF'][/color]



RAM:最小256 MB


可能需要额外的内存支持


[color=#FFFFFF'][/color]





硬盘空间



典型安装:最少350 Mb


最小安装:最少100 MB

自定义安装:最小100 Mb

在簇较大的FAT驱动器上可能需要额外的磁盘空间
[color=#FFFFFF'][/color]

如果在UNIX系列操作系统上安装DB2 Universal Database v8.1,包括基于AIX的系统、HP-UX系统、Linux和Sun Solaris,硬件必须满足:
[color=#FFFFFF'][/color]








硬件

[color=#FFFFFF'][/color]



需求


[color=#FFFFFF'][/color]







处理器



AIX:IBM RISC/6000或者eServer pSeries


HP-UX:HP 9000系列700或800系统

Linux:Intel 32位、64位,S/390 9672或更高,Multiprise 3000,eServer z-Series

[color=#FFFFFF'][/color]

Solaris:基于Solaris UltraSPARC的计算机






内存

[color=#FFFFFF'][/color]



最小 256 MB RAM


可能需要更多的内存


[color=#FFFFFF'][/color]





硬盘空间


[color=#FFFFFF'][/color]


典型安装:最小450到550 MB


紧凑安装:最小350到400 MB

自定义安装:最小350到700 MB
1.2 软件需求
SQL Server 2000有6个版本:企业版,标准版,个人版,开发版,桌面引擎,以及SQL Server CE(一个和Windows CE兼容的版本),软件需求如下:
[color=#FFFFFF'][/color]








操作系统



企业版(Enterprise Edition)


[color=#FFFFFF'][/color]


标准版(Standard Edition)


[color=#FFFFFF'][/color]


个人版(Personal Edition)



开发版(Developer Edition)



桌面引擎(Desktop Engine)

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


SQL Server CE

[color=#FFFFFF'][/color]








Windows CE










[color=#FFFFFF'][/color]








[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]











Windows 9x






[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]









[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]










Windows NT 4.0 Workstation with Service Pack 5










[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]












[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]






Windows NT 4.0 Server with Service Pack 5






[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]








[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]






[color=#FFFFFF'][/color]






Windows NT 4.0 Server Enterprise Edition with Service Pack 5

[color=#FFFFFF'][/color]






[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]






[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]








[color=#FFFFFF'][/color]










[color=#FFFFFF'][/color]


Windows 2000 Professional


[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]













[color=#FFFFFF'][/color]










[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]





Windows 2000 Server


[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]
















[color=#FFFFFF'][/color]











Windows 2000 Advanced Server



























[color=#FFFFFF'][/color]





Windows 2000 DataCenter





[color=#FFFFFF'][/color]










[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]











[color=#FFFFFF'][/color]





Windows XP Professional





[color=#FFFFFF'][/color]










[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]



DB2 Universal Database v8.1有下面六个版本
DB2 Enterprise Server Edition (ESE)
DB2 Workgroup Server Edition (WSE)
DB2 Workgroup Server Unlimited Edition (WSUE)
[color=#FFFFFF'][/color]

DB2 Personal Edition (PE)
DB2 Universal Developer's Edition (UDE)
DB2 Personal Developer's Edition (PDE)
它们的软件需求如下:







平台



操作系统版本


[color=#FFFFFF'][/color]


要求安装的补丁

[color=#FFFFFF'][/color]








Windows

[color=#FFFFFF'][/color]



Windows NT 4.0



Service Pack 6a或更高


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





Windows



Windows 2000


[color=#FFFFFF'][/color]


Windows Terminal Server需要Service Pack 2

[color=#FFFFFF'][/color]







Windows



Windows XP





[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]


AIX


[color=#FFFFFF'][/color]


AIX 4.3.3 (32-bit)


[color=#FFFFFF'][/color]


Maintenance Level 9或更高,以及APARs IY22308,Y32690,和IY33024


[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]


AIX



AIX 5L (32-bit)

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


Maintenance Level 2或更高


[color=#FFFFFF'][/color]






AIX



AIX 5.1.0(32-bit)

[color=#FFFFFF'][/color]



Maintenance Level 2或更高,以及APARs IY31254,IY32217,IY32905,IY33023,和 IY29345


[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





AIX



AIX 5.1.0 (64-bit)


[color=#FFFFFF'][/color]


Maintenance Level 2或更高,以及APARs IY31254,IY32217,IY32905,Y33023,和IY32466


[color=#FFFFFF'][/color]






HP-UX


[color=#FFFFFF'][/color]


HP-UX 11i


[color=#FFFFFF'][/color]


December 2001 GOLDBASE11i,


December 2001 GOLDAPPS11i bundles






Linux

[color=#FFFFFF'][/color]



Intel 32-bit:






kernel level 2.4.9或更高


[color=#FFFFFF'][/color]

glibc 2.2.4或更高


RPM 3或更高


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


Intel 64-bit和z-Series:




[color=#FFFFFF'][/color]


Red Hat Linux 7.2


[color=#FFFFFF'][/color]

SuSE Linux SLES-7












Sun Solaris



Solaris 7 (32-bit)

[color=#FFFFFF'][/color]



patch 106327-10







Sun Solaris


[color=#FFFFFF'][/color]


Solaris 7 (64-bit)

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


patch 106300-11

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]


Sun Solaris


[color=#FFFFFF'][/color]


Solaris 8 (32-bit)



patch 108434-03 and 108528-12


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





Sun Solaris


[color=#FFFFFF'][/color]


Solaris 8 (64-bit)


[color=#FFFFFF'][/color]


patch 108435-03 and 108528-12


[color=#FFFFFF'][/color]






Sun Solaris


[color=#FFFFFF'][/color]


Solaris 9




[color=#FFFFFF'][/color]

二、性能比较
比较SQL Server 2000和DB2 Universal Database v8.1的性能是一件很困难的事情。实际上,数据库系统的性能不仅跟数据库类型有关,而且还在很大程度上决定于数据库开发者和管理员的经验。无论使用哪一种RDBMS都可以构造出稳定、高效的系统。但是,我们仍旧有可能定义一些典型的事务,例如库存控制系统、航班预定系统、银行交易系统中的事务,然后在不同的数据库系统上运行这些典型事务,以此比较不同数据库系统的性能。
Transaction Processing Performance Council(TPC.Org)是一个独立的组织,定义了一组典型的数据库事务以及这些事务必须满足的条件。TPC对数据库管理系统的事务处理能力和数据库性能进行基准测试,测试标准是系统和数据库每单位时间内处理事务的数量,即每秒或每分钟处理的事务数量。
TPC制定了许多测试规范,包括TPC-C、TPC-H、TPC-R和TPC-W,还有一些较老的测试规范,如TPC-A、TPC-B、TPC-D。其中最著名的是TPC-C测试(OLTP测试)。
[color=#FFFFFF'][/color]

根据TPC最近的测试结果,SQL Server 2000在分布式分区群集系统中的TPC-C性能测试中赢得了胜利,参见:Top Ten TPC-C by Performance Version 5 Results。在价格/性能测试中,SQL Server 2000也获得了最好的TPC-C成绩。参见:Top Ten TPC-C by Price/Performance Version 5 Results。
注意:由于大多数单位并不真正需要非常大型的数据库,因此一个很关键的问题是:对于大多数企业来说,TPC-C基准测试的实际意义并不是很大。
三、价格比较
和DB2 Universal Database v8.1相比,Microsoft SQL Server 2000一个主要的优势是价格很便宜,另一个优点是在Enterprise Edition中已经作为标准功能包含了联机分析处理(OLAP,Online analytical processing)以及数据挖掘(Data Mining),因此对于要使用OLAP和数据挖掘功能的用户来说,SQL Server 2000可以节省几倍的投资。
下面的价格比较基于微软的IBM DB2 Version 8.1和SQL Server 2000价格比较资料。
比较SQL Server 2000 Standard Edition和DB2 v8.1 Workgroup Edition的价格:







CPU数量



IBM DB2 v8.1 Workgroup Edition



SQL Server 2000 Standard Edition

[color=#FFFFFF'][/color]








1



$7,500


[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]


$4,999







2


[color=#FFFFFF'][/color]


$15,000



$9,998

[color=#FFFFFF'][/color]







4


[color=#FFFFFF'][/color]


$30,000


[color=#FFFFFF'][/color]


$19,996

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]


8

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


$60,000



$39,992


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





16

[color=#FFFFFF'][/color]



$120,000



$79,984







32


[color=#FFFFFF'][/color]


$240,000



$159,968
[color=#FFFFFF'][/color]

比较SQL Server 2000 Enterprise Edition(已包含OLAP和Data Mining)和IBM DB2 v8.1 Enterprise Edition加上OLAP、Data Mining:







CPU数量


[color=#FFFFFF'][/color]


IBM DB2 v8.1 Enterprise Edition


[color=#FFFFFF'][/color]


IBM DB2 v8.1 Enterprise Edition加上 OLAP和Data Mining


[color=#FFFFFF'][/color]


SQL Server 2000 Enterprise Edition

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]






[color=#FFFFFF'][/color]


1



$25,000


[color=#FFFFFF'][/color]


$113,000



$19,999


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]


2



$50,000



$126,000

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


$39,998

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]






4



$100,000

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


$252,000

[color=#FFFFFF'][/color]



$79,996


[color=#FFFFFF'][/color]






8



$200,000


[color=#FFFFFF'][/color]


$504,000

[color=#FFFFFF'][/color]



$159,992



[color=#FFFFFF'][/color]





16


[color=#FFFFFF'][/color]


$400,000


[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]


$1,008,000



$319,984






[color=#FFFFFF'][/color]


32


[color=#FFFFFF'][/color]


$800,000

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


$2,016,000

[color=#FFFFFF'][/color]



$639,968
[color=#FFFFFF'][/color]

注意:上面对SQL Server 2000和DB2 Universal Database v8.1的价格比较并不完整,只是一个摘要的比较。实际可能有折扣,而且将来价格可能上升或下降。详情请访问IBM和Microsoft的网站。
四、特色比较
SQL Server 2000和IBM DB2 Universal Database v8.1都支持ANSI SQL-92 Entry Level,但都不支持ANSI SQL-92 Intermediate Level。下面简单比较一下Transact-SQL和DB2 SQL dialect的特点,随后说明SQL Server 2000和DB2 Universal Database v8.1的一些限制。
4.1 SQL语言
SQL Server 2000支持的SQL方言叫做Transact-SQL(T-SQL),IBM DB2 v8.1支持的SQL方言叫做DB 2 SQL dialect。DB2 SQL dialect要比T-SQL强大得多。下表简要比较了DB2 SQL dialect和T-SQL:







功能



DB2 SQL dialect


[color=#FFFFFF'][/color]


T-SQL


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]



关系表,对象表,临时表



关系表,临时表

[color=#FFFFFF'][/color]



[color=#FFFFFF'][/color]





触发器


[color=#FFFFFF'][/color]


BEFORE触发器,AFTER触发器,INSTEAD OF触发器

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


AFTER触发器,INSTEAD OF触发器


[color=#FFFFFF'][/color]






存储过程


[color=#FFFFFF'][/color]


DB2 SQL dialect语句,Java方法,第三代语言(3GL)过程。


[color=#FFFFFF'][/color]


T-SQL语句


[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]


用户定义函数

[color=#FFFFFF'][/color]



外部标量函数,外部表函数,OLE DB外部表函数,临时函数,SQL标量、表和行函数



标量函数,嵌入式表-值函数,多语句表-值函数

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





数组



支持


[color=#FFFFFF'][/color]


不支持
[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]

4.2 限制
[color=#FFFFFF'][/color]

下表比较了SQL Server 2000和DB2 v8.1的限制:






[color=#FFFFFF'][/color]


功能


[color=#FFFFFF'][/color]


SQL Server 2000



IBM DB2 v8.1

[color=#FFFFFF'][/color]



[color=#FFFFFF'][/color]






列名称长度



128



128


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]





索引名称长度

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


128


[color=#FFFFFF'][/color]


128


[color=#FFFFFF'][/color]






表名称长度


[color=#FFFFFF'][/color]


128



128






[color=#FFFFFF'][/color]


视图名称长度



128



128

[color=#FFFFFF'][/color]







游标名称长度


[color=#FFFFFF'][/color]


128

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]


18


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





约束名称长度



128



18







密码长度

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]


128


[color=#FFFFFF'][/color]


32

[color=#FFFFFF'][/color]






[color=#FFFFFF'][/color]


SQL变量长度


[color=#FFFFFF'][/color]


128


[color=#FFFFFF'][/color]


64



[color=#FFFFFF'][/color]





用户名称长度



128



30


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





max char()大小



8000



254

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]






max varchar()大小

[color=#FFFFFF'][/color]



8000



32672


[color=#FFFFFF'][/color]

[color=#FFFFFF'][/color]






每个表的最大列数



1024



1012


[color=#FFFFFF'][/color]






每个索引的最大列数

[color=#FFFFFF'][/color]



16



16

[color=#FFFFFF'][/color]







每个表的最大索引数



250



32767



[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]


最长的SQL语句


[color=#FFFFFF'][/color]


16777216


[color=#FFFFFF'][/color]


65535







每个SELECT的列数

[color=#FFFFFF'][/color]



4096



1012


[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]




[color=#FFFFFF'][/color]


每个INSERT语句的列数



1024


[color=#FFFFFF'][/color]


1012

[color=#FFFFFF'][/color]


[color=#FFFFFF'][/color]





[color=#FFFFFF'][/color]


存储过程嵌套深度


[color=#FFFFFF'][/color]


32



16
五、结束语
[color=#FFFFFF'][/color]

一定要说SQL Server 2000比DB2 Universal Database v8.1优秀是不切实际的,反过来也一样。无论是使用SQL Server 2000还是使用DB2 Universal Database v8.1,都可以构造出稳定、高效的系统,应用和数据库的稳定性、高效性与其说依赖于数据库管理系统的类型,不如说依赖于数据库开发者和管理员的经验。然而,当我们比较SQL Server 2000和DB2 Universal Database v8.1时,SQL Server 2000确实显示出一些独特的优势,DB2 Universal Database v8.1也一样。
[color=#FFFFFF'][/color]

SQL Server 2000的优势是:
SQL Server 2000要比DB2 v8.1廉价。
[color=#FFFFFF'][/color]

在TPC-C性能和价格/性能测试中,SQL Server 2000超过了DB2 v8.1。
一般认为,SQL Server 2000更容易安装、使用和管理。
DB2 Universal Database v8.1的优势是:
DB2 Universal Database v8.1支持所有已知的平台,而不仅仅是Windows平台。
DB2 SQL dialect要比T-SQL强大。
[color=#FFFFFF'][/color]

可以通过启动参数调整的配置项目较多。

[color=#FFFFFF'][/color]

#Advertisement