WEB开发网
开发学院数据库DB2 数据架构师:DB2 数据仓库性能,第 1 部分:把 OL... 阅读

数据架构师:DB2 数据仓库性能,第 1 部分:把 OLTP 调优技能转换为对基于 DB2 的业务智能化系统的有效性能管理

 2009-11-16 00:00:00 来源:WEB开发网   
核心提示: 在许多站点上,首选方法是把 CURRENT DEGREE 的默认值设置为 1(非并行),数据架构师:DB2 数据仓库性能,第 1 部分:把 OLTP 调优技能转换为对基于 DB2 的业务智能化系统的有效性能管理(4),对于特定的查询,使用 SQL 语句 SET CURRENT DEGREE 把它

在许多站点上,首选方法是把 CURRENT DEGREE 的默认值设置为 1(非并行),对于特定的查询,使用 SQL 语句 SET CURRENT DEGREE 把它改为 ANY 。如果无法使用 SET CURRENT DEGREE(一些查询生成工具可能不支持使用这个语句),可以通过 DB2 for z/OS 的 CDSSRDEF ZPARM 参数或 DB2 for LUW 的 dft_degree 数据库参数把这个特殊注册表的默认值设置为 ANY 。

除了能够在单一服务器中分割查询之外,DB2 还可以通过 DB2 for z/OS 的 sysplex 查询并行性和 DB2 for LUW 的 Data Partitioning Feature 跨集群配置中的多个服务器分割查询。请记住,DB2 for z/OS 查询并行性是提高 zIIP 引擎利用率的好方法,zIIP 引擎是专用的大型机处理器,有助于为组织节省计算成本。

数据库级性能调优

可以通过下面这些与数据库相关的措施让 DB2 数据仓库环境更适应查询:

对大型表进行范围分区。范围分区在大型机 DB2 平台上已经存在很长时间了,从 DB2 9 开始在 LUW 服务器上也可用了。这个特性根据键值范围把表行存储在几个不同的物理文件中。它对于促进大型机服务器上的查询并行性尤其重要。在 LUW 服务器上,它还可以通过一种称为数据分区消除的查询优化技术提高查询的性能。

对于哪些表应该进行范围分区,并没有绝对的规则,但是可以考虑对包含一百万或更多行的表进行范围分区。为表选择的分区键(可以是单一列,也可以包含多列)取决于您的需要,但是基于时间的键(例如日期列)对于数据存档过程是非常高效的。注意,范围分区与散列分区算法不同,DB2 for LUW 在使用 Data Partitioning Feature 时使用散列分区算法把表行分布到多服务器集群的节点上。

维持丰富、准确的编目统计信息。在我看来,DB2 具有市场上最好的查询优化器(IBM 首创了基于成本的 SQL 语句优化),但是它必须有足够的信息,才能做出合理的访问路径决策。查询优化的关键输入是 DB2 编目表中的统计信息,所以这些统计信息应该是最新的。最好的实现方法是定期运行 RUNSTATS(DB2 for LUW 系统上的命令,DB2 for z/OS 环境中的实用程序)。注意,DB2 9 for LUW 有一个自动统计信息收集特性。

上一页  1 2 3 4 5  下一页

Tags:数据 架构 DB

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接