对比
|
功能领域
|
SQL Server
|
DB2
|
|
创建数据库
|
是
|
是
|
|
浏览数据库数据和元数据
|
是(Server Explorer)
|
是(IBM Explorer)
|
|
创建存储过程
|
是——使用模板
|
是——使用模板
|
|
选择用于存储过程的方法
|
Attributes
|
Wizard
|
|
创建函数
|
是——使用模板
|
是——手动操作
|
|
创建触发器
|
是——使用模板
|
否
|
|
创建用户自定义类型(UDT)
|
是——使用模板
|
否
|
|
创建聚集
|
是——使用模板
|
否
|
|
部署CLR对象
|
是——使用Visual Studio 2005菜单项
|
是——使用Visual Studio 2003菜单项
|
|
调试CLR对象
|
是——使用Visual Studio 2005调试器
|
否
|
不只是关系型数据库
SQL Server 2005还提供了许多新功能,使得不能仅仅把它看成一个关系型数据平台,而这些功能在DB2 UDB中都没有。SQL Server 2005能够作为一个HTTP端点(endpoint),也就是说它能处理Web Services请求而不需要任何像IIS这样的Web服务器的帮助。它还提供了三个新的应用程序子系统:SQL Server Service Broker、SQL Server通知服务和SQL Server 报表服务。
HTTP端点
SQL Server 2005中一个非常有意义的新功能就是在数据库引擎中添加了对HTTP的支持。这就允许了SQL Server能直接处理Web Services请求而不需要IIS或者其他任何Web服务器的帮助。也就是说,SQL Server能够通过SOAP协议传输动态SQL语句的执行结果以及存储过程的调用信息。这种对HTTP的支持与SOAP1.0、1.2和WSDL1.1标准相兼容。SQL Server 2005的这个新功能还支持Windows和SQL Servery验证模式以及SSL。为了完全和数据应用的编程方式兼容,CLR存储过程的执行结果能以ADO.NET Dataset的形式返回。
而DB2 UDB 8.2结合Web服务器才能处理Web Services SOAP请求。
Service Broker
SQL Server 2005中的Service Broker能使得在开发应用程序时能充分发挥分布式数据库的配置从而提高可伸缩性。有了Service Broker,我们能使用异步队列去构建伸缩性出色的应用程序,因为它的处理方式不是串行处理,因而能响应更多的请求。异步的处理方式能在负荷高峰时将超负荷的请求缓存下来,压后处理,从而提高了应用程序的可伸缩性。SQL Server 2005中的Service Broker子系统保证了在SQL Server实例之间传递消息的可靠性,而且是完全事务化的。就如同标准的数据库事务一样,组成队列事件的事务也能被提交和回滚。使用SQL Server Service Broker构建的异步队列应用程序能够跨越多个SQL Server系统并始终能确保它们之间消息的传递。
IBM DB2 UDB 8.2不支持在分布式数据库实例之间的异步连接。
通知服务
另一个新的应用程序开发框架——SQL Server通知服务的出现,使得数据库开发人员能够建立传递所选信息到多个订阅者或设备上的消息应用程序。通知服务最初是作为SQL Server 2000的一个下载组件推出的,而现在已经被融合进SQL Server 2005,成为其标准组件。例如,NYTimes.com使用通知服务将不动产列表上的变化告知给相关的当事人。SQL Server通知服务伸缩性良好并包含对终端用户设备的支持。Microsoft为构建企业级的通知应用程序平台已经作了大量的工作,这些工作的成果就是大家现在看到的这个健壮的,可伸缩的并经过测试的程序开发框架——通知服务,一个消息应用程序平台的领先者。
IBM DB2 UDB缺少这种功能。
报表服务
SQL Server 2005的一个非常重要的功能增强就是拥有在所有数据库平台中独一无二的报表服务。最初,报表服务是作为SQL Server 2000的一个附加产品出现的,而如今,全新的SQL Server 2005报表服务子系统已经完全地集成进SQL Server 2005了。它是一个企业级的报表系统,利用它能可视化地构造报表并将其在企业内部安全地部署。SQL Server 2005报表服务是一个整体的报表解决方案,它能从相当广泛的数据源中汲取信息,包括SQL Server、Oracle、DB2以及许多OLE DB、ODBC兼容的数据库。由报表服务生成的报表能以非常丰富的格式呈现,包括打印格式、基于Web的HTML报表、基于Windows的多种客户端报表以及在移动设备上呈现的报表。
IBM在DB2中没有提供相似的功能。客户只有另外再花费去购买一个单独的报表工具插件。
Integration Services
SQL Server 2000中带有了数据转换服务(DTS),用于抽取和装载数据。
在SQL Server 2005中,DTS被重新设计并赋予了一个新名称:Integration Services。Integration Services与.NET集成性更好,有着更好的性能以及更好的适应性。Microsoft在SQL Server 2005中引入Integration Services的目标是将其发展成为一个企业级的ETL工具,因此,如今的Integration Services所提供的功能和性能与其他第三方独立厂商的ETL产品相差无几。Microsoft对Integration Services的重新设计赋予了它全新的架构和工具集,由此得到了对可编程性更好的支持和改善了的运行性能。新的设计架构将数据传输与工作流明显地区分开来,使得能更加容易地创建一个可复用的、可伸缩的Integration Services包。和以前的版本一样,全新的Integration Services依旧使用OLE DB去连接数据源和数据目标,和以前的DTS一样灵活。Integration Services能在所有主流的数据库平台之间传输数据,包括SQL Server、Oracle、DB2,同时还能把Sybase、Excel文件、MySQL、Active Directory、Firebird等其他形式的数据存储作为数据源或数据目的。SQL Server 2005 Integration Services的图形化设计器经过全新设计,大量地扩充了数据传输任务和数据转换任务。
在IBM DB2中,顾客需要额外花费去购买具有相似功能的模块。
分析服务
自从在SQL Server 7.0版本中集成了OLAP服务之后,Microsoft就一直是商业智能(BI)领域的领跑者。经过这些年的发展,OLAP已经从一个不起眼的技术变成了数据库市场的主流。BI技术能够让组织机构从日常的运营数据中获取更多有意义的信息用于预算和决策,它使用OLAP、数据仓库和数据挖掘技术来概括和查询数据,这些技术操作数据的方式是不可能使用纯粹的关系型数据访问技术来实现的。到了SQL Server 2005时代,分析服务将依旧是最主要的BI平台。Microsoft对于SQL Server 2005分析服务的引擎做了很大的改进。在SQL Server 2005中,分析服务可以支持多实例。另外,分析服务的安装进程能自动侦测到集群的存在,这样,分析服务就能无缝地安装在故障转移集群上了。对于SQL Server 2005来说,另一个可能是在OLAP领域具有划时代意义的新功能是引入了Unified Dimensional Model(UDM)。UDM是被看作是OLAP立方体的下一代技术,它的统一报表模型结合了OLAP技术和关系型报表的各自优势。
在IBM DB2中,顾客需要额外花费去购买具有相似功能的模块。
Mobile Edition
在过去的每个SQL Server新版本中,逐步引入了对集群、分布式分区视图以及64位计算的支持,使得SQL Server的功能越来越多、规模越来越大、处理能力越来越强,我们用户也享受到由此带来的便利。但有一个问题我们常常忽略,就是能否把SQL Server的规模按比例缩减。SQL Server 2005 Mobile Edition实现了这点,它可以将企业数据管理延伸到移动设备上,SQL Server 2005 Mobile Edition运行在Windows CE系统平台上,将关系数据库的功能拓展到了设备级别,提供了经过优化的查询处理机制,支持事务和数据类型,并能通过.NET Compact Framework实现对设备级别数据库的访问。SQL Server 2005 Mobile Edition拓展了能够访问SQL Server数据库的边界,它支持远程访问数据并能在企业服务器和移动设备之间复制数据。
IBM DB2家族包含一个移动版本的数据库,叫做DB2e。不过,DB2e是和DB2 UDB 8.2分开出售的。
小结
将CLR集成进数据库增强了数据库平台的功能和适用性,使得在数据库和数据层之间迁移代码变为可能。CLR与数据库的集成还拓展了数据库平台的性能,利用.NET框架丰富的编程功能构建出的自定义数据库对象的加入使得我们开发出的数据库应用程序更加强大并能灵活适应于变化中的外部环境。
虽然在SQL Server 2005和DB2 UDB中都能嵌入.NET对象,但很明显,SQL Server 2005与DB2 UDB 8.2相比有着显著的优势。这篇白皮书中的叙述已经明白无误地显示了SQL Server 2005与Visual Studio和.NET框架的集成的紧密程度要远远胜于DB2 UDB 8.2与它们的集成程度。SQL Server 2005对CLR的广泛支持表现在除了存储过程和函数之外,还能创建的其他数据库对象,而DB2 UDB只支持创建存储过程和函数。由于SQL Server是以“进程内”的方式与CLR集成的,这种集成方式更为紧密,因此,得到的解决方案也更有效率,提高内存使用率,支持线程,垃圾回收等CLR功能是在DB2中是没有的。“技术演示”部分详尽地描述了SQL Server 2005与Visual Studio的紧密集成所带来的优势,演示了无缝地进行数据库对象开发、部署和调试的整个过程。另外,除了关系型数据库,SQL Server 2005中还集成了Service Broker、通知服务、分析服务、Integration Services和报表服务,这使得SQL Server 2005不仅仅是一个单纯的数据库平台,而是一个完整的应用程序开发平台,这一点,DB2 UDB 8.2无法提供。
作者介绍
Michael Otey是Windows IT Pro Magazine的技术总监和SQL Server Magazine的资深技术编辑。它同时还是TECA Inc.的总裁,TECA Inc.是一家软件开发和咨询公司,这家公司专注于协同工作软件和数据库应用程序。Michael从1983年开始已经与DB2的多个版本打过交道。Michael还是由 is the Osborne McGraw Hill出版的SQL Server 2005 New Features Guide的作者。
Denielle Otey是TECA Inc.的副总裁以及软件顾问,她对于使用C、VC++、VB和Visual Studio .NET进行软件设计、实施、测试和调试有着丰富的经验。她同时还是数款SQL Server工具的开发者,她在TECA Inc.中负责开发和部署DB2应用程序。她还是由Osborne McGraw Hill出版的ADO.NET The Complete Reference的合著者。