数据压缩技术点评Oracle11g新特性之:数据压缩技术
发布时间:2025-05-25 04:32:14 发布人:远客网络
一、数据压缩技术点评Oracle11g新特性之:数据压缩技术
1、在面对数据量的海量增长与CPU性能提升的背景下,时间换空间的优化策略越来越受到青睐。数据压缩技术作为提升存储效率的关键手段,其重要性正日益凸显,有望从特殊手段转变为数据库系统中的常规工具。
2、Oracle从9i版本开始逐步引入表级压缩技术,虽宣传效果显著,但实际贡献有限。在Oracle11g中,这一技术正式登上历史舞台,被命名为“Advance Compression”组件,全面支持普通表的压缩、非结构化数据的SecureFile数据压缩、Data Pump数据压缩以及RMAN备份压缩。这一举措标志着数据压缩技术已从辅助手段转为数据库系统的核心功能。
3、在Oracle9i中,表压缩技术虽已引入,但存在局限性,仅适用于批量装载操作,而普通DML操作的数据无法压缩,写操作的压缩问题未能得到有效解决。Oracle11g的推出,解决了关系数据的写性能问题,实现了全面的数据压缩支持。Oracle的表压缩技术采用Block级别的数据压缩,通过引入symbol表,降低重复数据量,实现Block的批量压缩,旨在减少对DML操作性能的影响。此外,Oracle引入了用于控制Block中未压缩数据量的参数,以平衡压缩效果与性能。
4、SecureFile是Oracle11g新推出的一项特性,专为存储非结构化数据而设计,同时支持数据压缩操作,从而优化大型数据库的存储空间需求。然而,压缩与解压过程对CPU性能提出更高要求。尽管如此,在CPU发展速度远超IO与存储空间增长的背景下,数据压缩技术展现出强大的潜力。通过不断优化压缩率与效率,数据压缩有望成为数据库系统标准配置之一,为存储管理带来革命性变革。
5、数据压缩技术,就是用最少的数码来表示信号的技术。
二、oracle压缩表/表空间
1、从Oracle iR开始 ORACLE提供了表/表空间压缩技术以减少磁盘开销节省空间并在某些情况下提高查询性能
2、表压缩是如何工作的在Orcle i第版中表压缩特性通过删除在数据库表中发现的重复数据值来节省空间压缩是在数据库的数据块级别上进行的当确定一个表要被压缩后数据库便在每一个数据库数据块中保留空间以便储存在该数据块中的多个位置上出现的数据的单一拷贝这一被保留的空间被称作符号表(symbol table)被标识为要进行压缩的数据只存储在该符号表中而不是在数据库行本身内当在一个数据库行中出现被标识为要压缩的数据时该行在该符号表中存储一个指向相关数据的指针而不是数据本身节约空间是通过删除表中数据值的冗余拷贝而实现的
3、表级别创建一个压缩表创建表时使用PRESS关键字 PRESS关键字指示Oracle数据库尽可能以压缩的格式存储该表中的行
4、 create table test press as select* from dba_objects where= create table test(id number name varchar() time date) press修改现有表为压缩表 SQL> alter table test press取消表的压缩 SQL> alter table test nopress确定表是否被压缩确定一个表是否使用了压缩查询user_tables pression字段表明表是否被压缩
5、表空间级别创建表压缩空间create tablespace TEST datafile/export/home/oracle/ora g/oradata/test/test dbf size M default press与其他存储参数类似 PRESS属性也具有一些继承特性当在一个表空间中创建一个表时它从该表空间继承PRESS属性
6、使现有表空间转换为压缩表空间SQL> alter tablespace test default press SQL> alter tablespace test default nopress确定是否已经利用press对一个表空间进行了定义可查询user_tablespaces数据字典视图并查看def_tab_pression列SQL> select tablespace_name def_tab_pression from user_tablespaces
7、压缩一个已经存在但并没有压缩的表使用alter table…… move press使一个已存在但未压缩的表转换为压缩表
8、 SQL> alter table test move press同样也可以使用alter table…… move nopress来解压一个已经压缩的表 SQL> alter table test move nopress压缩表的性能开销一个压缩的表可以存储在更少的数据块中从而节省了储存空间而使用更少的数据块也意味着性能的提高在一个I/O受到一定限制的环境中对一个压缩的表进行查询通常可以更快速地完成因为他们需要阅读的数据库数据块要少得多
9、由此可以看出向压缩表中加入数据的时间是正常表的倍多加载压缩的表所需要的额外时间来自于在数据加载过程中所执行的压缩操作
三、oracle11g和oracle10g的区别
1、Oracle数据库11g支持联机事务处理(OLAP)应用程序中常用的更新、插入和删除操作的数据压缩。
2、以前的Oracle数据库版本支持数据仓库应用程序常用的批量数据加载操作的压缩。
3、Oracle数据库11gOLTP表压缩通过更加高效地使用内存来缓存数据以及减少表扫描的I/O提高了数据库性能。
4、利用OLTP表压缩,您可以利用最小的处理开销达到2到3倍的压缩比。