文档介绍:大数据时代的Oracle数据压缩技术应用摘要:大数据时代对人类对海量数据的驾驭能力提出前所未有的挑战。本文介绍的是ORACLE的数据压缩技术,这是ORACLE数据库在大数据环境下极为实用的一个属性,不仅降低了所有数据类型的磁盘空间需求,还提高了应用程序性能,增强了内存和网络效率。关键词:大数据ORACLE压缩技术中图分类号:TP3文献标识码:A文章编号:1671-7597(2013)11-0000-00近两年来,大数据(bigdata)概念越来越引人瞩目,它被用来描述和定义在当前信息爆炸时代所产生的海量数据和与其相关的技术发展与创新。大数据时代对人类对海量数据的驾驭能力提出前所未有的挑战。如何管理这些迅速膨胀的海量数据,也成为每个数据库厂商必须面对的问题。本文介绍的是ORACLE的表/表空间压缩技术,这是ORACLE数据库在大数据环境下极为实用的一个属性。随着企业数据的爆炸性增长,很多决策支持系统和数据仓库对磁盘空间的需求也在急剧增长。目前很多大中型企业里,TB级甚至PB级的数据仓库已经越来越普遍。Oracle从9iR2开始,提供一种表/表空间压缩技术,用以减少磁盘开销,节约存储空间,并在某些情况下获得查询性能的提高。1Oracle的压缩技术Oracle的压缩技术实际上从8i就出现了,提供简单的索引压缩;到9ir2时,可以进行表级别的压缩,但只能对批量装载操作(比如直接路径装载,CTAS等)涉及的数据进行压缩,普通的DML操作的数据则无法压缩。Oracle10g增加了对LOB的压缩,但并未解决压缩的写操作问题;从Oracle11g开始,使用了"基于数据块的批次压缩技术",也就是说数据的压缩并不在执行DML语句时即时发生,当一个数据块开始写入数据时,插入的数据并不被立即压缩,这个时候对性能是没有影响的,对数据块的压缩动作发生在数据块即将被写满时,这样可以保证大部分DML语句的效率,从而真正支持了各种DML语句也能够用于OLTP环境(insert,update等)。2常用的压缩命令下面列举一些常用的压缩命令。,也可修改已有表的压缩属性。pressasselect*fromuser_tables;createtabletab2(cust_idnumber,cust_namevarchar2(200))compress;press;--press;--解压已经压缩的表如果要对分区表的不同分区设置压缩属性,我们可以在创建分区表时设置,也可等到需要对某个分区进行压缩时再设置。Createtabletest(cust_idnumber,cust_namevarchar2(200))partitionbyrange(cust_id)(partitionP1valueslessthan(press,partitionP2valueslessthan(press,partitionPMAXvalueslessthan(maxvalue));--该命令表示P1和P2为压缩属性,PMAX则没有设置压缩属性。press;--该命令表示将PMAX分区设置为压缩属性。,也可将现有表空间转换为压缩表空间。PRESS属性也具备一些继承特性。PRESS属性的表空间中创建一个新表时,PRESS属性