揭秘DB2新版本V10的功能和性能IBM

2011-04-02    来源:TechTarget中国    
目前DB2的一部分客户可能刚刚从V8版本中走出来,或者有些还在熟悉V9版本的过程中时,IBM宣称他们已经准备好推出另一个最新版本。

       目前DB2的一部分客户可能刚刚从V8版本中走出来,或者有些还在熟悉V9版本的过程中时,IBM宣称他们已经准备好推出另一个最新版本。尽管基于以往的经验对新版本一定会存在一些担忧,但是这个功能丰富的新版本还是有望成为一次技术的飞跃。

 

  暂时性表格(Temporal tables)的好处

 

  在21世纪,“直接访问存储设备”(DASD)已经变得越来越便宜了,而且大部分公司所拥有的数据量通常要比他们预计的要多。政府法规经常会要求一些公司把某些记录保存几年以上。所有的这些额外的数据都会直接影响到应用性能,这样DB2就会有更多的信息需要处理,应用系统获取的循环也会变得更长。

 

  DB2 V10版本就可以用Temporal tables来解决这个问题。Temporal tables包含了一个或同时两个时间段:系统维护的SYSTEM_TIME和应用管理的BUSINESS_TIME。两个时间段都会有一对时间戳来表示已经启动。

 

  在SYSTEM_TIME管理表格中,原始数据会保留在“系统阶段temporal table”里,而归档行则会保存在“历史表格”里。通过对表格的定义,一位数据库管理员(DBA)可以控制数据在原始表格中存放的时间周期。紧接着,DB2就把更新的或是删除的“行”从主表格归档到历史表格中。

 

  当旧的数据从temporal table里清除了以后,DB2和应用程序就能够花费更少的时间来寻找所需要的信息。值得一提的是,当对应用程序进行一些调整后,旧的“行”仍然可以从历史表格中找到。

 

  分组附加功能

 

  在DB2 V10版本之前,数据分享组作为一个唯一的组别存在。这个组的名称听上去还不错,但是一个企业是不可能控制某个子系统来连接某个组员的,比如CICS系统。现在,作为数据分享组的子集,DB2 V10已经有了“子组”。这个功能就赋予了一个数据库在相同的分享组和相同的LPAR上同时运行几个“例”的能力,而且可以分配到谁来使用它们。

 

  一个系统的程序员可能会想去为DDF建一个子组,一个供CICS使用,另一个供batch使用。如果创建子组名“CICS”,这将会附带相应的CICS——对于连接到任何一个没有特定会员名的LPAR。需要注意的是CICS TS 4.1要求APAR PM25602, 而CICS TS 3.2需要PM25688来启动APAR。

 

  DB2 V10的新功能可以提升可用性

 

  运行在线的DB2应用程序中最大的困难之一是数据库锁。V10有一个新功能可允许在更新承诺以后,读者在减少冲突的情况下,直接查看数据。需要注意的是这个和“直接阅读”是有区别的。阅读未经承诺的数据在之前的版本就已经实现。一个新的绑定选项、CONCURRENTACCESSRESOLUTION,以及相应的PREPARE语句选项,可以控制一个用户是否能够看见数据(USECURRENTLYCOMMITTED)或是等待(WAITFOROUTCOME)。

 

  数据库维护是DBA们的又一个痛处。维护情况好的数据库会运行更流畅,但是想要找到一个合适的时间来做维护是比较困难的。V10推出了一个新功能,在“行”等级的系统表格中利用锁或是移除功能。同时,可以允许在线重组和其他单位来加入。现在不需要数据库重组的要求也能进行对于即时表结构改变的性能提升。

 

  最后,DBA通常有一个绝招,可以让DB2通过回退功能来代替经典的镜像复制和恢复功能来恢复数据库。回退恢复需要具备权限进入活动日志,如果恢复点时间相对比较近,那效果更好。

 

  DB2 V10的安全与控制功能

 

  DB2 V10推出了“行”和“列”等级的安全。虽然看上去对于控制只提升了一点点功能,但是数据安全的负担将从应用系统转移到管理层面。问题就是在于如何寻找一个在这种安全、性能和行政纠纷类型里的折中方法。

 

  新版的DB2允许更全面细致的管理职责,这将会使审计者的黑心变得明亮一点。只有一种类型的用户SECADM能够控制整个系统。其他类型的用户们会按照相关职责和能力的原则来进行权限分配。

 

  新版的性能增强

 

  DB2 V10版本设定为是一个“性能版本”,IBM大胆宣称一些客户在“传统工作负载”的运行下,CPU性能提升了5%至10%,而“非传统工作负载”的运行下,CPU性能提升20%。一部分的性能节省是来自DB2开发的z9芯片集,这是目前最低配置的IBM处理器。非常重要的一点是z990或更早的处理器无法支持DB2 V10版本。技术上的概览暗示着更多地使用硬件锁设施,比如比较和交换指令来代替软件结构,比如门锁。

 

  DB2 V10版本试图在内存里保存更多的信息,一般都至少使用4G的内存条,这样可以支持到差不多20000个同时处于活动状态的线程。这种并发性的增加对于虚拟存储约束的缓解和创建并联DB2数据库的客户们是非常重要的。

 

  其他CPU节省的资源是从其他进程和算法的变化中来的,这里就不一一列出来了。如果你想要进行更进一步的信息挖掘,我建议你去翻阅IBM的《DB210 for z/OS》文档或是《DB2 V10 for z/OS技术红皮书》。

 

  关于作者:

 

  在将近30年的时间里,Robert Crawford的工作是大型主机系统程序员。Crawford具有丰富的系统管理、纠错和优化应用的经验。他曾经使用VSAM、DLI和DB2来编程COBOL,Assembler和C++。

1
3