简介
本文做了如下假设:
您具有一个 DB2 DPF 环境并且熟悉 DB2 DPF 的概念。
您正在设计一个将被哈希分区的新表,或者您已经有了一个哈希分区的表,并且此表有可能会存在数据倾斜问题。
本文将帮助您实现如下任务:
在定义和填充一个表之前,选择正确的初始分区键(PK)
评估表上已有 PK 的质量
评估已有表上的候选替换 PK 的质量
在保持表在线的情况下,更改此 PK
本文提供了如下这类帮助:
回顾概念和关注点
设计准则
新例程用来评估已有的和新的分区键的数据倾斜
哈希分区的快速浏览
在 DPF 环境中,大型表一般要跨多个数据库分区。对表进行分区的方法有几种,但本文只着重于哈希方式的分区。
哈希分区基于的是分区键。一个分区键由在表创建时定义的一个或多个列组成。对于每个新插入的记录,分区键会决定这个记录应该存储在哪个数据库分区。这种安置是由一个内部的哈希函数决定的,该函数接受定义为分区键的列内的值并返回数据库分区号。哈希函数是一个确定性 函数,这意味着对于相同的分区键值,它总是假设对数据库分区组的定义没有更改并总是会生成相同的分区安置。
如下的语法示例展示了创建一个哈希分区表所需步骤:
创建一个数据库分区组来指定要参加分区的那些数据库分区。如下的例子展示了如何在数据库分区 1、2、 3 和 4 上创建一个数据库分区组 PDPG:
CREATE DATABASE PARTITION GROUP pdpg1 ON DBPARTITIONNUMS(1 to 4)
根据 IBM Smart Analytics System 和 IBM InfoSphere™ Balanced Warehouse 的最佳实践,被哈希分区的表应该在 coordinator 或 administration 分区(数据库分区 0)上创建。数据库分区 0 通常用于存储小型的非分区的查找表。
2 3 4 5 6 下一页</div> </div> </div> </div> </div>