richardtc 发表于 2010-10-18 13:53

DB2数据库与Sybase在实际操作的不同之处

此文章主要向大家描述的是DB2数据库与Sybase在实际操作中的一些不同之处的比较,假如你对这两个数据库的不同之处有兴趣了解的话,你就可以通过以下的文章对其有一个更加完善的认识,以下就是正文的详细内容的介绍。

开放性/可移植性

IBMDB2的编程接口遵照ANSI、X/OPEN标准的CLI(CallLevelInterface)及ANSISQL的嵌入式SQL等开放标准。IBMDB2的存储程序和触发器机制则使用最新的SQL国际标准并支持标准的开放语言如C/C++。在DB2CommonServerV2.1.2(1996)以及DB2UDB(1997)中更加入了用Java语言开发存储程序和触发器的功能。

1.编程接口:SYBASE使用的编程接口不是开放的,因为他使用的是自己的OpenClient/OpenServer接口,而不是基于某一标准的接口。2.存储程序(StoredProcedure):由于SYBASE的CLIENT/SERVER技术是80年代开发的,没有使用SQL92等相关的标准,因此编制存储程序和触发器所用的Transact-SQL也是它们自己专用的。


处理性能

IBM发明了关系型数据库以及其优化技术,并不断发展,所以DB2数据库在各种性能测试中均占领先地位。DB2在高端应用具有过硬的技术,有众多超过1Tera-bytes数据量的用户实例。 SYBASE的优化器(OPTIMIZER)不能有效的支持复杂的查询(ComplexQueries)。

应用程序中稍微复杂一些的SQL语句,SYBASE的优化器就无法妥善优化处理。SYBASE刚刚进入海量多处理器MPP的领域,缺乏这方面的经验及先例,Sybase大于一个TB数据量的客户实例很少。


并行能力

DB2的并行版支持位图索引和对象关系,因此,DB2有更好的扩展性和性能; SYBASE数据库核心结构较陈旧,尤其在多处理器(SMP)的服务器上无法做到软硬件相配合的延伸与扩展(scale),无法发挥多处理器的优势。其单进程多线索的结构就无法象DB2的多进程多线索的结构更能有效地在SMP等机器上运行。


高可用性

DB2可以用数据库及表空间两种粒度(granularity)对数据作备份与恢复(BACKUP及RESTORE),并且备份可以在联机方式(ONLINE)下进行,不影响多用户的同时使用。这使得DB2能真正地满足一天24小时、一星期七天的全天候使用。

SYBASE在BACKUP数据库及RESTORE数据库时,需要将系统转为单一用户模式以保证数据库中数据的完整性及一致性,并且在BACKUP之后,要运行DBCC检查数据的一致性,这使得SYBASE数据库在可用性方面受到限制。


数据完整与可管理性

IBMDB2中数据库可自动的维持两表间的一致性,无需再由DBA编程。 SYBASE在其数据库技术中引入RI(ReferentialIntegrity数据引用完整性)较晚,而且功能有限。例如,当表A中的列A是另一个表B中列B的ForeignKey时,若要删掉表A中的一个记录,在SYBASE中是不允许的,只有通过触发器(Trigger)及存储过程(StoredProcedure),才能删掉表A中的一个记录,同时删掉表B中的相关记录,或把其值设置为NULL。


异构平台支持

在异构的环境中,IBM数据库方案简单、更加无缝而且成本低; Oracle的异构网关性能差,当访问异构数据库时,Oracle缺乏全局的优化,导致了过多的数据及网络传输。


复制能力

DB2提供业界最佳效率的和最开放的复制方案;DB2支持对数据做预处理后再复制到远端,更有效率且网络流量少。 Sybase是立即复制交易,数据和网络流量大,据用户反映,Sybase的复制难以实施。SybaseAdaptiveServerAnywhere和AdaptiveServerEnterprise之间的数据复制不是无缝连接,且要求整合工作。


对电子商务支持

IBM的Java技术为业界所公认,DB2公认为电子商务基石。DB2数据库提供的JDBC接口,还可用Java语言写储存过程和用户自定义函数 Oracle的Java技术仅局限于数据库和ERP应用。


对商业智能支持

DB2WarehouseManager内置了数据仓库管理功能。IBM的商业智能解决方案中,拥有数据挖掘(IntelligentMiner)工具。 Sybase数据集市(datamart)没有提供仓库(Warehouse)管理与自动化的功能。


软件质量与可靠性

DB2的软件开发实验室早在1994年便已通过ISO9000国际质量管理标准的验证与认可。故DB2数据库的软件质量是所有数据库厂家中可靠性最高,故障率最低的数据库。数据在IBM系统内被腐化(corrupted)不但是前所未闻,也是IBM传统用户所不可能忍受的。

SYBASE中的数据需要小心的维护,因为数据在数据库中有可能被“腐化(corrupted)”而无法继续使用。在没有事先修补的情形下,若这些数据被备份了,则它们无法再被使用。为此SYBASE不得不为客户提供一个检查程序(DBCC)。

andkylee 发表于 2010-10-18 15:55

靠, 片面之词。


SYBASE使用的编程接口不是开放的。 错


SYBASE在BACKUP数据库及RESTORE数据库时,需要将系统转为单一用户模式以保证数据库中数据的完整性及一致性,并且在BACKUP之后,要运行DBCC检查数据的一致性,这使得SYBASE数据库在可用性方面受到限制。

老黄历了。





SYBASE中的数据需要小心的维护,因为数据在数据库中有可能被“腐化(corrupted)”而无法继续使用。


光看最后一段话, 就不用反驳了。 美国金融界的sybase数据库跑的不很好?

andkylee 发表于 2010-10-18 15:57

如何是不同之处。太不客观了。在做sybase迁移到db2 吧。


我看到的sybase迁移到oracle的文档中都没有这么比较的。

wfcjz 发表于 2010-10-18 16:17

去年个人做了一个项目,其中就是将SYBASE迁移到DB2.

看这个对比,不是很客观
页: [1]
查看完整版本: DB2数据库与Sybase在实际操作的不同之处