DB2通过深度压缩进行存储优化:应用策略

确定要压缩的一组表和索引后,接下来需要对这些表启用压缩。更改现有表的压缩设置,填入数据以帮助其减缓增长速度,随后插入的数据将得益于新的压缩设置。如果您的目标是减少现有数据占用的">存储空间,或许也可能是要减少数据库分配的物理空间,那么您必须对此类数据执行压缩。

您可以应用以下策略,从而帮助对大量现有数据应用压缩功能,释放此类数据当前消耗的磁盘空间,为文件系统腾出空间。当您首次实施行压缩或索引压缩或者从早期 DB2 版本升级到 DB2 10.1 版本时,您将会发现此类信息尤其有用。

对现有数据应用压缩

对现有数据应用压缩的最直接方法是执行经典表重组。如果您已经更改行压缩或值压缩设置,请使用 REORG TABLE 命令和 RESETDICTIONARY 参数。如果某些表包含 XML 列,则还需要指定 LONGLOBDATA 子句,以便压缩非内联 XML 文档。如果您仅对索引压缩设置进行了更改,REORG INDEXES ALL 命令足以压缩索引数据。无需对表数据进行完全重组。如果您正在从 DB2 9.5 版本升级到 DB2 10.1 版本并且已经启用行压缩,则可以考虑执行索引重组,而不必对所有表数据执行完全重组。

如果您无法将表转为脱机状态,可以考虑使用 ADMIN_MOVE_TABLE 存储程序,该程序自 DB2 9.7 版本开始推出。您可以利用此程序将活动表中的数据移动到具有相同名称(存储位置相同或不同均可)的全新6184.html">数据表对象中。ADMIN_MOVE_TABLE 程序能够以经典表重组采用的同一方式对表进行有效重组,但不会产生任何停机时间。移动期间数据仍保持联机状态。以重组期间的相同质量构建或重建表级字典。为构建或重建表级字典,ADMIN_MOVE_TABLE 程序需要执行以下步骤:

1. 收集表中所有行的伯努利抽样

2. 从该抽样中构建新的表级压缩字典

3. 先将字典插入目标表,然后再开始复制阶段,这样,当在复制阶段将行插入目标表时,行才会进行压缩

下面的示例展示了如何以最直接的方式启动表联机移动操作。

CALL SYSPROC.ADMIN_MOVE_TABLE('DB2INST1','ACCTCR', '','','','','','','','','MOVE')

您可以使用 ADMIN_MOVE_TABLE_UTIL 程序对表联机移动操作的参数和行为实施细粒度控制,如确定用于构建字典的抽样大小。尽管如此,即使您以标准的‘MOVE’执行模式调用该函数,构建的压缩字典也能保证最佳状态。 与经典表重组不同的是,ADMIN_MOVE_TABLE 程序的默认行为是重建字典。由于仅使用一小部分随机表数据抽样,因而相较于不重建字典,重建字典通常并不会产生过多的性能开销。

您可能会发现,ADMIN_MOVE_TABLE 程序在从早期 DB2 版本升级数据库时尤其有用。您可以使用该程序在各表空间之间移动表,同时更改其他参数,如列数据类型。

管理磁盘空间消耗

对现有的表应用压缩功能可减少已经分配给这些表的页面数量。然而,应用压缩并不会对 DMS 或自动存储表空间的磁盘空间消耗产生立竿见影的效果。这些表空间只是具有更多未使用的空间。

首次实施行压缩或索引压缩时,最好对表空间容器利用率和预计数据增长率进行重新评估。执行压缩后,您的表空间利用率可能会大幅降低。您的数据库可能需要很长一段时间才能消耗最初释放的所有的空间。在这种情况下,您可能希望减少容器大小,为其他消费者腾出更多磁盘空间。 要有效地降低数据库的磁盘占用,必需降低表空间容器大小。决定可多大程度降低表空间容器大小的主要因素是“高水位线”。高水位线反映分配给表或用作空间映射条目的最高水平表空间位置。

当您创建表、扩展现有表或执行不使用临时表空间的经典表重组时,高水位线可能会上升。您可以通过丢弃或截断拥有高水位线处的盘区的表来降低高水位线。然而,丢弃、截断或重组其他对象不会影响高水位线,只会造成在高水位线下创建更多未用的盘区。只有在创建新对象或对象增长时,才能重用这部分高水位线下的未使用盘区。只能回收高于高水位线部分的未用盘区,并将其返回至操作系统。

因此,减少磁盘空间占用的关键在于,降低高水位线并截断表空间容器。本节的其余部分介绍了执行该项任务的机制。这些机制取决于使用哪种类型的表空间、使用哪个 DB2 版本创建这些表空间以及当前正在使用哪个 DB2 版本。

时间: 2024-10-02 06:17:54

DB2通过深度压缩进行存储优化:应用策略的相关文章

DB2通过深度压缩进行存储优化:备份映像和日志归档压缩

自 DB2 Universal Database Version 8 开始,您已经能够压缩备份映像.自 DB2 10.1 版本开始,也可以对日志归档应用压缩功能.无论您是否具备 DB2 Storage Optimization Feature 许可,都可以使用这些功能. 用于压缩备份映像和归档日志的默认算法与 compress(1) UNIX 实用程序采用的算法类似. 备份压缩 您可以为各备份映像单独启用备份压缩.当执行备份操作时,请指定 COMPRESS 语句,具体例子如下所示: BACKUP

DB2通过深度压缩进行存储优化:行压缩

行压缩自 DB2 for Linux, UNIX, and http://www.aliyun.com/zixun/aggregation/13559.html">Windows 9.1 版本产品(DB2 9.1 版本)开始引入.自此以后每个版本均对行压缩功能进行了大幅改进,并在 DB2 10.1 版本的新一代自适应压缩功能中达到极致.行压缩要求具备 DB2 Storage Optimization Feature 许可. 通过压缩技术节省存储空间通常意味着减少读取压缩表中的数据的物理 I

DB2通过深度压缩进行存储优化:值压缩的替代行格式

本文档介绍了 DB2 Storage Optimization Feature 与 DB2® for Linux®, UNIX®, and Windows® 产品搭配使用的最佳实践.本文阐释了如何使此功能成为拓宽大型 OLTP http://www.aliyun.com/zixun/aggregation/13999.html">工作负载或数据仓库空间意识存储策略的关键驱动因素. 您可以使用 DB2 Storage Optimization Feature 对各类持久存储数据和临时数据进行

DB2通过深度压缩进行存储优化:临时表压缩

自 DB2 9.7 版本起,如果您具备 DB2 Storage Optimization Feature 许可,则可以对临时表应用压缩功能.与行压缩和索引压缩不同,您不必对临时表启用压缩功能.压缩会完全自动执行,且适用于用户定义的表和系统临时表. 用户可在不同情况下使用临时表.系统中包含大量用户定义的全局临时表,它们以两个变体存在:已创建的全局临时表 (CGTT) 和已声明的全局临时表 (DGTT).某些实用程序和维护操作(如表重组和数据再分布)也使用临时表.在查询处理期间,数据库管理器可能需要

Informix Dynamic Server数据压缩和存储优化

IDS存储优化如何工作 IDS存储优化会考虑整行和其中的所有列(除了作为字节串存储在行之外的列数据,比如BLOB数据).然后,IDS寻找重复出现的模式,把这些模式作为符号存储在压缩词典中,见图1. 图1. 作为符号存储在词典中的模式 在创建词典之后,IDS在词典存储库中存储它. 表的存储优化过程涉及四个步骤: 创建压缩词典. 压缩表或表片段中行中的数据. 重新组合表或片段行. 回收空闲的空间. 下面几节详细讨论每个步骤. 创建压缩词典 为了创建词典,IDS从现有的表中取样一些行并创建一个符号词典

如何使用重复数据删除技术实施主存储优化

主要文件系统存储优化(也就是在同样的空间塞进更多的数据)继续在日益普及.这里的挑战是主存储的重复数据删除并不是没有规则的.你不能删除这个重复的数据,也不能删除那个重复的数据,你必须要认识到删除重复数据之后对设备性能的影响. EMC已经宣布了在自己的Celerra平台上删除重复数据的功能.NetApp使用这个功能已经有一段时间了.其它厂商也以积极的方式增加这个功能,其方法是在数据不流动之后对数据进行压缩和删除重复数据.然后,Storwize等公司一直以在线实时压缩的方式提供这种功能. 正如存储虚拟

赛门铁克推出增强版存储优化套装软件

    赛门铁克公司今天宣布推出 Veritas CommandCentral 增强版存储优化套装软件,致力于帮助企业减少购买不必要的存储设备,有效降低营运成本.Veritas CommandCentral Storage包括新的无代理(agentless)功能,通过提高存储利用率来帮助企业降低存储采购成本,并使存储消耗与实际业务应用实现结合的更加紧密,从而加速企业投资价值的实现.凭借这些增强性的功能,用户可在一年或一年半以上的时间内持续有效地利用现有存储资产,满足业务应用需求.  赛门铁克公司

任意列搜索之 列存储优化

标签 PostgreSQL , 列存储 , shard , 切片 , 大块 , 小块 , sort , 块级索引 , bitmap scan , 索引延迟 , 归整 背景 数据分析系统,决策系统的数据量通常非常庞大,属性(列)非常多,可能涉及到任意列的组合条件查询,筛选结果.聚合结果.多维分析等. 这种场景如何优化能满足实时的响应需求呢? PostgreSQL中有一些技术,可以满足此类场景. 1. 内置bitmapAnd bitmapOr,使用任意字段的索引搜索时,可以快速跳过不满足条件的块,快

解密OpenTSDB的表存储优化

摘要  OpenTSDB是一个分布式的.可伸缩的时间序列数据库,在DB-engines的时间序列数据库排行榜上排名第五.它的特点是能够提供最高毫秒级精度的时间序列数据存储,能够长久保存原始数据并且不失精度.它拥有很强的数据写入能力,支持大并发的数据写入,并且拥有可无限水平扩展的存储容量.         它的强大的数据写入能力与存储能力得益于它底层依赖的HBase数据库,也得益于它在表结构设计上做的大量的存储优化.         本篇文章会详细讲解其表结构设计,在理解它的表结构设计的同时,分析