在数据急速膨胀的今天,海量数据带来的storage成本和海量数据带来的性能和日常维护难度的增加无疑是很多企业CIO所关心的。oracle从9i到11g一直在这块领域不停探索,推出越来越完善的压缩功能。随着11g的white paper陆续发布,更多有用的new feature也公布细节出来了,今天我们来看看oracle在压缩方面做了哪些改进。
1. Compression for Relational Data
oracle通过数据块内的symbol table来管理compression metadata,实际上这个技术在9i R2就有了,暂时还不知道oracle在这方面有什么改进
在压缩表这块其实最大的改进是在压缩条件的变化,以往我们需要通过批量导入数据才能实现compress
1.alter table move
2.create table as select
3.insert /*+ APPEND */
4.direct path sqlldr
所以以往压缩表技术通常被使用在数据仓库环境,现在oracle通过改变压缩的方法推出适用于OLTP的压缩表,那ORACLE到底是怎么做到的呢?看一下下面这张图
oracle改变了压缩的行为,不是每次发生数据变化都会去压缩,而是通过内部的threshold来控制压缩,并且压缩是由transaction触发的,当一个transaction触发DML操作,oracle会去根据threshold来判断是否需要对整个BLOCK进行compress,如果compress后又到达threshold,那么oracle会再去recompress整个BLOCK,直到oracle觉得没有可压缩的余地,而且只有触发compress的transaction会有一些压缩的代价。这样的功能确实对OLTP还是有点意义的,但是我心里还有个疑惑,11G有没有解决compress table的update问题,在以前的版本,如果对已经压缩的行进行update,那么会导致行链接,如果update很频繁,那么会导致压缩表比不压缩还要大,这一点可以参考我以前的文章。因为现在还没拿到11g的软件,所以这一点我还不能确认,不过oracle已经迈出了一大步,压缩技术离OLTP越来越近了。
2.Compression for Unstructured Data
除了压缩关系型数据外oracle也提供了对非结构化数据的压缩,11g通过推出Securefiles这种数据类型来提供非结构化数据的压缩功能。
CREATE TABLE TEST (
A number, B CLOB)
LOB(B) STORE AS SECUREFILE
( COMPRESS KEEP_DUPLICATES CACHE NOLOGGING );
Securefiles提供了compression, encryption, and deduplication等功能,到目前为止Securefiles提供了2种级别的压缩。
3.Data Pump Compression
在10g R2里面Data Pump 提供了对metadata的compress,11g里面这个功能扩展到对表数据,根据oracle公布的结果,data pump目前的压缩效果可以与gzip差不多。下面是data pump的集中compress option
• ALL enables compression for the entire export operation.
• DATA-ONLY results in all data being written to the dump file in compressed format.
• METADATA-ONLY results in all metadata being written to the dump file in compressed format. This is the default.
• NONE disables compression for the entire export operation
4.Recovery Manager Compression
oracle通过使用industry standard ZLIB compression algorithm, 11g的rman的压缩速度比10g提高了40%.
5.Compression for Network Traffic
oracle推出了redo compression的功能,这个功能在dataguard中可以带来明显的网络带宽的消耗,不过这个功能默认是关闭的.
参考文档:
Oracle Database 11g
Advanced Compression Option
June 2007
Author: William Hodak
Contributing Authors: Carol Palmer, Timothy Chien, Sushil Kumar
0 Responses to “ORACLE 11g Advanced Compression”