理解 DB2 Data Partitioning Feature (DPF)
要对一个数据库进行分区,需要 DB2 的 Database Partitioning Feature (DPF) 功能。这种可选的 Database Partition Feature 许可只对 DB2 Enterprise Server Edition (ESE) 可用,其费用按照分区数据库中所使用的 CPU 的数量来计算。
何时分区,为何分区
具有 DPF 功能的 DB2 UDB ESE 是管理 OLAP、数据仓库和数据挖掘工作负载的理想选择。对于大型 OLTP 工作负载,它也是很好的选择。最常见的分区环境由每个物理系统上的一个数据库分区组成,这些物理系统组成数据库分区集群。每个数据库分区上的数据库管理器使用每个系统上的处理器来管理数据库中属于该分区的那部分数据。
由于数据被划分在多个数据库分区上,因而可以使用多台计算机上的多个处理器的处理能力来满足对信息的请求。数据检索和更新请求被自动分解成一些子请求,然后这些子请求在相应的数据库分区中并行地执行。每多一个服务器,就意味着将有更多的 CPU、内存和更多的磁盘用于分区数据库。
性能的提升源于这样的事实:大量的数据被划分成更小的、更易管理的块,每个分区/系统可以同时运行。如果要处理提取、转换和载入操作(ETL),而批处理窗口又比较小,那么可以考虑使用 DPF。例如,DB2 LOAD 可以在每个分区上同时运行,负载操作可以并行地分摊到多个服务器上。创建索引的性能也将显著提升。而且,通过使用 DPF,可以显著缩短备份和恢复时间,因为每台参与分区的机器需要处理的数据量更小了。
在 SUSE Linux Enterprise Server V9 上安装 DB2 V8.2
下面我们来介绍在 SUSE Server(或多服务器)环境中安装和运行 DB2 DPF 所需的步骤。
步骤 1. 检验其他软件包
DB2 要求在 Linux 系统上安装以下包:
- Public domain korn shell (pdksh)
- Remote shell (rsh) 或 open source secure shell (OpenSSH)
- IBM Java™ 2 Java Run Time
- Network File Server (nfs)
使用 rpm 命令来检验这些包是否已安装:
- rpm -qa | grep pdksh
- rpm -qa | grep rsh 或 rpm -qa | grep openssh
- rpm -qa | grep IBMjava
- rpm -qa | grep nfs
步骤 2. 检验内核参数
在安装 Linux 之前,请确认目前所推荐的、适合 DB2 的 Linux 版本。链接 “http://www.ibm.com/software/data/db2/linux/validate/” 显示了受支持的 Linux 发行版。确保安装受推荐、受支持版本的 Linux。
在安装 DB2 时,需要注意一些内核参数:
表 1. 对 DB2 有影响的内核参数
| 内核参数 | 描述 |
|---|---|
| kernel.shmmax | 定义系统范围内允许的最大共享内存段大小,单位为字节 |
| kernel.msgmni | 定义在任何时刻系统上允许的最多消息队列标识符个数 |
| fs.file-max | 定义 Linux 内核最多分配的文件句柄个数 |
| kernel.sem | 定义信号量限制:
|
在 Kernel 2.4.18 及以后版本中,file-max 参数的默认值是 8192,因此可能不需要修改它。可以使用以下命令来检查 file-max 值:
cat /proc/sys/fs/file-max
使用 lpcs 命令显示当前的 Linux 内核设置:
lpcs -l
从 DB2 UDB Version 8.2 以后,DB2 在启动时将检查 semmni、msgmni 和 shmmax 参数的值,如果当前值不是最佳的,则更新之。DB2 自动将内核参数设置如下:
- semmni 被改为 1024。
- msgmni 被改为 1024。
- shmmax 被改为 268435456 (32-位) 或 1073741824 (64-位)。
注意,系统范围内最多信号量个数(semmns)等于:
数组的最多个数 (semmni) * 每个数组的最多信号量个数 (semmsl)
在安装 DB2 后,还可以通过 db2pd 命令检验 semni、msgmni、shmmax 参数:
db2pd -osinfo
在性能调优时,可能还需要调整其他内核参数。手册上的规程如下:
- 以具有 root 权限的用户登录。
- 创建一个 /etc/sysctl.conf 文件,如果还没有该文件的话。
- 在 /etc/sysctl.conf 文件中添加内核条目。
- 运行 sysctl -p 从默认文件 /etc/sysctl.conf 装载 sysctl 设置。
- 添加 sysctl -p 到一个系统初始化文件中,以便在每次重新启动时设置内核参数。
URL:http://www.qqread.com/linux/2006/12/e287184.html
相关专题
- 电脑配置手册 (8178篇文章)
- 服务器配置专栏 (10787篇文章)
- Linux集群技术 (8137篇文章)
- DB2 (420篇文章)
- 体验Linux的音影世界 (7818篇文章)
- Linux驱动大全 (8611篇文章)
- Linux下的路由的配置与应用 (11601篇文章)
- Linux命令简介 (9649篇文章)
- DB2中的数据处理 (465篇文章)
- Linux防火墙 (9487篇文章)
- Linux常用基本命令及应用技巧 (44691次浏览)
- 学Linux如此轻松-Linux入门教程 (21805次浏览)
- 扮酷你的桌面 Linux超靓壁纸下载(多图) (20455次浏览)
- 图解红旗Linux 4.0桌面系统的安装 (17365次浏览)
- vmware的vmware tools安装 (13102次浏览)
- Linux系统常见的日志文件和常用命令 (753次浏览)
- TCP/IP基础----为Linux网络做准备 (671次浏览)
- 安装Linux之前 (600次浏览)
- 初学者如何熟悉Linux内存管理机制 (593次浏览)
- Linux Apache+MySQL+PHP简明指南v2 (573次浏览)



