WEB开发网
开发学院数据库DB2 DB2 最佳实践: 物理数据库设计最佳实践,第 2 部分... 阅读

DB2 最佳实践: 物理数据库设计最佳实践,第 2 部分:MDC、数据库分区、视图以及后设计工具介绍

 2009-11-12 00:00:00 来源:WEB开发网   
核心提示: 图片看不清楚?请点击这里查看原图(大图),不共享数据库的扩展性已经在大多数查询工作负载接近于线性的扩展上得到了证明,DB2 最佳实践: 物理数据库设计最佳实践,第 2 部分:MDC、数据库分区、视图以及后设计工具介绍(10),同样,模块化的设计让使它的存储压力、工作压力或它们两个也都线性增长,对

图片看不清楚?请点击这里查看原图(大图)。

不共享数据库的扩展性已经在大多数查询工作负载接近于线性的扩展上得到了证明。同样,模块化的设计让使它的存储压力、工作压力或它们两个也都线性增长。结果就是在过去十年中不共享结构在数据仓上的统治地位。数据库分区可以在不影响现有应用代码的情况下使用,而且对它们是完全透明的。使用 redistribution 实用工具,可以在线更改分区策略而应用代码不会受到影响。

最主要的选择就是决定哪些列用来 hash 分割每个表,并且这些列包含数据库分区键值。这有两个目标:

在各个分区间均匀的分布数据。这要求选择那些高基数值的列为分区键,以确保所有行能均匀的分布到各个逻辑分区上。

把在 join 处理中数据库分区之间的数据传输减少到最小。如果在 WHERE 子句中包含分区键,那么将对被连接的行的表并置(避免移动数据)。

使用下面的数据库分区的最佳实践:

选择用大量值(高基数)作为分区键,以确保表中的行能均匀的分布到各个分区。唯一键是一个很好的候选。

为了提高表并置,可以对一个经常进行连接的表使用分区键作为连接列(假如这些列有很高的基数来满足均匀分布行的需求)。

选择能获得高基数并能在分区键中均匀分布行的最小的列数。减少分区键中的列数提高了列出现在连接谓词中的可能性(提高表并置的几率)。

确保唯一索引是分区键的超集。

对小表(表大小只有或不到数据库大小的 3% 或不到最大的表的 5% ,是一个合理的法则)或经常被更新的表,使用复制 MQTs ,目的是:

上一页  5 6 7 8 9 10 

Tags:DB 最佳 实践

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