DB2 最佳实践: DB2 数据库存储机制
2010-06-23 00:00:00 来源:WEB开发网每个 DB2 分区通常有:
一个事物日志文件系统 — 使用 LUN 创建,用于分区的事务日志。
多个数据文件系统——每个文件系统都使用它自己单独的 LUN 创建,用于表空间数据。
事务日志使用 RAID-10,数据使用 RAID-10 或 RAID-5
RAID-10 提供极好的冗余,因为它可以经受多次物理磁盘故障。而 RAID-5 只能经受一次物理磁盘故障。但是,RAID-10 增加冗余的代价是成本比 RAID-5 高很多。
如果将 RAID-10 同时用于日志和数据,那么将拥有更大的不惧磁盘故障的韧性。如果只能将 RAID-10 用于存储数据或日志中的一种,那么将它用于日志,而将 RAID-5 用于数据。如果选择将 RAID-5 同时用于日志和数据,那么仍然可以拥有非常有韧性的存储配置;但是,您会发现需要更大程度上依赖于数据库备份。将表空间 EXTENTSIZE 设置为 RAID 条带大小(如果做不到,则设为一个有助于读取大块数据的大小)。
RAID 阵列中每个物理磁盘上连续数据的总量称作“条块(strip )”,横跨这些全部由条块组成的阵列的数据的总量则称作“条带(stripe )”。
典型的 RAID 条块大小是 32kb 、64kb 、128kb 等。
RAID-5 4+1 阵列上的条带大小相当于条块大小的 4 倍。
表空间的 EXTENTSIZE 应该设为包括整个 RAID 条带的页数。
例如,一个使用 RAID-5 4+1 的系统,其条块大小为 128kb ,那么该系统上的条带大小为 512kb (128kb x 4 )。如果使用的页大小为 8kb ,那么将 EXTENTSIZE 设为 64 (512kb/8kb )较为合适。
在虚拟化存储环境中设置表空间盘区大小
有时候,无法知道给定 DB2 表空间容器的文件系统存储在哪个 RAID 阵列上。如果为数据库服务器主机和存储控制器配置的 LUN 之间存在其他层或存储虚拟化,那么就会出现这种情况。在此情况下,当创建表空间时,应该将 EXTENTSIZE 设为一个有利于预取程序执行有效大块 I/O 的数字。较好的经验法则是将盘区大小设为 256 KB 。 128 KB 或 512 KB 的盘区大小也是不错的选择。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››最佳ASP.NET编程习惯
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
更多精彩
赞助商链接