技术开发 频道

IBM DB2 9.7:向Oracle亮剑

【IT168技术分析评论】

  上周(6月26),IBM在京为其最新版DB2和InfoSphere Warehouse软件——DB2 9.7和InfoSphere Warehouse 9.7举行媒体发布会。这款代号为“Cobra”的最新版DB2可大幅减少数据存储空间,帮助客户节约高达75%的相关成本(包括能源成本)。记者注意到,在技术特性方面,本次发布有着以下诸多改进:具体包括压缩增强、pureXML 增强、易用性增强、监控增强、工作负载管理增强、安全性提高、性能提高、应用开发提高、SQL PL 语言支持、SQL 兼容性提高和高可用、备份、日志、弹性、恢复提高等

  新技术特性和改进稳步推出

  关于锁的改进:从 DB2 V9.7 开始,DB2 通过采用完全锁定避免技术,当能够明确获得数据或者页的“已落实”版本时,允许扫描避免使用行级锁。当无法获知索引或行记录是否已落实时,扫描将改用使用传统的锁定方式。未提交的插入行在行级锁中是直接被标识的,允许“当前已落实”扫描直接忽略或跳过该行。

  在DB2 V9.7中有一个重大的更新就是关于提高锁的并发,在DB2 V9.7之前IBM对引起锁等待的问题其实一直是采用的是修修补补的方式,从DB2 V7到DB2 V9.5为了提高锁的并发和减少锁等待、死锁的概率,先后采用了Type-2索引(部分改进了下一键锁,当然Type-2索引主要是提高了在线重组等功能)、DB2_EVALUNCOMMITTED、DB2_SKIPINSERTED、DB2_SKIPDELETED和DB2 V9.5中引入的乐观锁。但是这些只是部分提高了并发性能(而且还要结合业务逻辑)并没有从根本上改变锁的本质。没有类似ORACLE中的回滚段实现的多版本读功能,直到DB2 V9.7的出现才彻底改变了这一现状。

  HADR备库可读 这一功能可谓雪中送炭。DB2专家牛新庄博士谈到,“我们在实施HADR时候,最郁闷的莫过于备库始终处于rolling forward pending状态,无法读取。在ORACLE数据库的data guard机制中,可以使用logical standby实现可读;HADR是借鉴Informix的HDR,而在HDR中,同样是备库是可读的。因为HADR的备库不可读就不能完成类似在备库上备份和查询等功能。现在好了,DB2 V9.7已经实现了这个功能。”

  索引数据可以压缩:在DB2 V8、DB2 V9.1和DB2 V9.5版本中,DB2先后实现了值压缩,行压缩等功能,从DB2 V9.7开始,DB2支持对索引进行压缩。对于I/O负载的系统来说这可以大大提高性能。

  改进的SQL编译器和优化器,大大提高性能。

  IBM改变思路:由暴力迁移思维转变到enable

  从9.7版本开始,IBM改变了过去帮助客户如何迁移到DB2平台上的思路,而是采取了enable的思路。通过与开源的数据库厂商EnterpriseDB合作,透过其Postgres Plus平台,用户可以直接使用Oracle数据库。据EnterpriseDB的新闻资料显示:“根据IBM和EnterpriseDB达成的协议,DB2和EnterpriseDB的Postgres Plus Advanced Server将互相提供强大的兼容性解决方案,并为Oracle 数据库环境的用户提供扩展的便捷应用及技术支持。如此,客户便能够在DB2上运行专为Oracle数据库编写的程序,从而降低迁移的成本、时间和风险。” 这些新特性包括运行其他数据库上应用程序的能力,特别是针对Oracle数据库,这将大大降低企业转换数据库后需改写应用程序的痛苦。特别是首次支持Oracle数据库语法,包括PL/SQL、SQLPlus、Package、Currency Control、SQL等语法或数据格式均可支持,企业可在DB2上执行原先在Oracle数据库中按其语法设计的应用程序。

  这可算得上是IBM真正向Oracle亮剑的举措,DB2 V9.7摆明了是要和ORACLE抢夺用户了,DB2 V9.7内嵌了PL/SQL引擎,基本上Oracle的应用可以无缝迁移到DB2数据库之上。行业类核心用户都有平衡数据库产品和架构的需求,核心业务选择一个数据库产品,而其它的辅助业务一般会架构在其它公司的数据库产品上。未来两大数据库的竞争会越来越激烈,这对用户是个好消息!

  企业对数据库迁移一直是畏如猛虎,近年来,核心业务很少有迁移以及迁移成功的案例。据了解,传统的针对数据库的兼容性问题推出对应的解决方案,一般是是以提供可将A厂商数据库数据转换到B厂商数据库的连结器(Adapter)为主,因此,数据库管理人员往往得花许多时间进行检查和调整。例如,当企业决定将A厂商数据库转换到B厂商数据库时,数据库管理员往往通过人工操作模式,将在A牌数据库上运行的应用系统的数据字段,转换成成B牌数据库可接收的数据字段,而且,随着每一次的应用系统版本更新,数据库管理员又需要重新设定一次。这样就使得数据库的迁移存在极大的风险和较高的成本。

  “但该状况不会发生在IBM DB2 v9.7,因为在该版本内嵌的PL/SQL Compiler系统会自动调校数据字段。”

  IBM大约花了2年的时间研发IBM DB2 v9.7内嵌的DB2 Compiler与PL/SQL Compiler等有助企业将甲骨文数据库内含的数据转换至IBM DB2的新功能。另外,根据IBM的实测结果,企业可将原先运行在Oracle DB 8i、9g、10g与11g的应用系统迁移至IBM DB2 v9.7。
          IBM 中国区信息管理产品技术经理刘晶炜在专访中兴奋地告诉记者,在广东卫生局的一个下属单位的数据库由Oracle迁移到DB2,仅仅花了5天的时间。

  刘晶炜谈到,主要是IBM的数据库产品理念发生了变化,兼容并蓄,降低成本。我们希望给客户更多的选择,“即使你今天是Oracle的用户,但是你选择用DB2,选择用DB2的原因是因为它愿意去接受IBM倡导的开放和应用创新的理念,通过数据的创新点去创新,降低它的成本。我相信在这个领域里面我们会持续引导我们的合作伙伴,让创新的门槛变得更低。”       

         两大数据库巨头竞争将更加激烈
        自从IBM DB2 9版本数据库问世以来,IBM一直在紧锣密鼓地策反Oracle的用户。并根据DB2 9中数据库某些独特的功能和卖点如PureXML特性来争夺特定行业的用户。刘晶炜告诉记者,最近2-3年,医疗行业的用户进展顺利,取得了较好的效果。“携pureXML技术和成熟解决方案 DB2 9近年来在医疗行业可谓是强势推进。”

        



        在电子病历应用的推进方面,pureXML技术解决了长期困扰开发商的病历数据格式规范、数据交换接口开发、医疗数据集成及海量XML数据存储等问题,将以“年”为计的电子病历开发周期成功缩短至以“月”为计。

      借助医疗行业成功的推进经验,IBM将在其它Oracle数据库占据优势的行业也同步展开推进工作。在争夺用户上,此次推出的9.7版本,对基于oracle的应用的兼容性,打消了一些用户迁移的成本和风险的顾虑。 未来的竞争局面必将更加激烈。

0
相关文章