Вы находитесь на странице: 1из 13

Documento tcnico de Oracle Octubre 2011

Compresin avanzada con Oracle Database 11g

Documento tcnico de Oracle: Compresin avanzada con Oracle Database 11g

Introduccin ....................................................................................... 3 Compresin avanzada de Oracle ...................................................... 4 Compresin de datos en tablas ......................................................... 4 Compresin de tabla OLTP ........................................................... 4 Compresin de datos de archivos ..................................................... 7 Eliminacin de datos duplicados de SecureFiles ........................... 7 Compresin de SecureFiles .......................................................... 8 Compresin de datos de backup ....................................................... 9 Compresin con Recovery Manager (RMAN) ................................ 9 Compresin Data Pump ................................................................ 9 Compresin de trfico de red .......................................................... 10 Conclusin ...................................................................................... 11 Ejemplos de sintaxis de compresin ................................................ 12

Compresin avanzada de Oracle con Oracle Database 11g

Introduccin
En la actualidad, las empresas enfrentan una explosin del volumen de los datos necesarios para llevar a cabo sus actividades con efectividad. Esta tendencia en el crecimiento de datos puede atribuirse a varios factores clave. Algunos cambios recientes en el panorama regulatorio, como la Ley Sarbanes-Oxley y la Ley de responsabilidad y transferibilidad de seguros mdicos (HIPAA, por sus siglas en ingls), contribuyen con esta tendencia, ya que establecen la obligacin de que las empresas conserven grandes cantidades de datos por plazos muy extensos. La distribucin masiva de contenido elaborado y multimedia en la internet, la cual es posible gracias a los avances de las tecnologas de banda ancha, tambin contribuye al crecimiento del volumen general de datos. Otro factor que potencia esta tendencia de crecimiento es el surgimiento de la Web 2.0, cuyas aplicaciones de colaboracin generan enormes cantidades de contenido generado por los usuarios. Varios clculos estimativos indican que el volumen de datos est prcticamente duplicndose cada dos o tres aos. La explosin repentina del volumen de datos constituye un desafo de gestin abrumador para los administradores de TI. Ante todo, est la cuestin de los costos de almacenamiento que crecen vertiginosamente: aunque el costo por MB de almacenamiento ha ido reducindose notablemente en los ltimos aos, el enorme crecimiento del volumen de datos que deben conservarse en lnea convierte al almacenamiento en uno de los costos principales de casi todos los presupuestos de TI. Por otro lado, la escalabilidad y el rendimiento de las aplicaciones deben seguir satisfaciendo las demandas del mercado, incluso mientras explota el volumen de datos. Oracle Database 11g versin 1 ha presentado la opcin de compresin avanzada para ayudar a los clientes a superar estos desafos. Las innovaciones en las tecnologas de compresin de Oracle ayudan a que los clientes reduzcan los recursos y los costos que conlleva la gestin de grandes volmenes de datos. Adems de la compresin de tabla OLTP, la opcin de compresin avanzada incluye un conjunto integral de capacidades de compresin que permiten a los clientes maximizar la utilizacin de recursos y reducir costos mediante la compresin de datos no estructurados (eliminacin de datos duplicados y compresin de SecureFiles), backups (RMAN y Data Pump) y el transporte de red de registros de reconstruccin Data Guard.

Compresin avanzada de Oracle con Oracle Database 11g

Compresin avanzada de Oracle


La opcin de compresin avanzada de Oracle Database 11g presenta un conjunto integral de capacidades de compresin que permiten que los clientes maximicen la utilizacin de recursos y reduzcan costos. Tambin permite que los administradores de TI reduzcan significativamente el espacio de almacenamiento general en bases de datos al posibilitar la compresin de todo tipo de datos, ya sean relacionales (tablas), no estructurados (archivos) o datos de backup. Si bien el ahorro en costos de almacenamiento a menudo se ve como el beneficio ms tangible de la compresin, las tecnologas innovadoras incluidas en la opcin de compresin avanzada estn diseadas para reducir los requisitos de recursos y los costos de tecnologa de todos los componentes que integran la estructura de TI, incluido el ancho de banda de red y la memoria.

Compresin de datos en tablas


Oracle ha sido pionero en la tecnologa de compresin de bases de datos. Oracle Database 9i present hace muchos aos la funcin de compresin bsica de tablas, la cual permita comprimir datos cargados mediante operaciones de carga masiva. Oracle Database 11g versin 1 ha presentado una nueva funcin de compresin de tabla OLTP que permite la compresin de datos en todo tipo de operaciones de manipulacin, incluidas sentencias de lenguaje de manipulacin de datos (DML) convencionales como INSERT y UPDATE. Asimismo, la compresin de tabla OLTP reduce la carga asociada con la compresin de las operaciones de escritura, lo cual la convierte en una solucin apta para entornos transaccionales o de OLTP. Por lo tanto, la compresin de tabla OLTP expande los beneficios de compresin a las cargas de trabajo de todas las aplicaciones. Debe tenerse en cuenta que la compresin bsica de tablas es una funcin bsica de Database 11g Enterprise Edition (EE). La compresin de tabla OLTP integra la opcin de compresin avanzada de Oracle, la cual requiere una licencia adems de Enterprise Edition.

Compresin de tabla OLTP


La funcin de compresin de tabla OLTP de Oracle utiliza un algoritmo de compresin nico que ha sido especficamente diseado para funcionar con aplicaciones OLTP. El algoritmo elimina los valores duplicados dentro del bloque de una base de datos, incluso entre varias columnas. Los bloques comprimidos contienen una estructura llamada tabla de smbolos que conserva los metadatos de compresin. Cuando se comprime un bloque, se eliminan los valores duplicados agregando, primero, una copia nica del valor duplicado a la tabla de smbolos. A continuacin, cada valor duplicado se reemplaza con una referencia breve sobre la entrada correspondiente en la tabla de smbolos.

Compresin avanzada de Oracle con Oracle Database 11g

A travs de este diseo innovador, los datos comprimidos se encuentran autocontenidos en el bloque de la base de datos, ya que los metadatos utilizados para traducir los datos comprimidos a su estado original se almacenan en el bloque. Si se lo compara con los algoritmos de compresin de la competencia que conservan una tabla de smbolos en bases de datos mundiales, el mtodo exclusivo de Oracle ofrece beneficios de rendimiento significativos, ya que no agrega ancho de banda de I/O para acceder a los datos comprimidos.

Figura 1: Bloque comprimido en comparacin con bloque no comprimido

Beneficios de la funcin de compresin de tabla OLTP

El ndice de compresin alcanzado en un entorno determinado depende de la naturaleza de los datos que se estn comprimiendo, sobre todo de la cardinalidad de los datos. En general, los clientes que utilizan la compresin de tabla OLTP pueden esperar reducir dos a tres veces el espacio de almacenamiento. Es decir, el espacio consumido por dato sin comprimir ser de dos a tres veces superior al de datos comprimidos. Los beneficios de la compresin de tabla OLTP van ms all de un simple ahorro de almacenamiento en disco. Una ventaja notable es la capacidad de Oracle para leer bloques comprimidos directamente, sin tener que descomprimir primero el bloque. En consecuencia,

Compresin avanzada de Oracle con Oracle Database 11g

no hay degradacin de rendimiento medible en el acceso a los datos comprimidos. De hecho, en muchos casos, el rendimiento puede mejorar debido a la reduccin de ancho de banda de I/O, ya que Oracle tiene que acceder a menos bloques. Adems, la cach de bfer es ms eficiente, dado que se almacenan ms datos sin tener que agregar memoria.
Carga de rendimiento mnima

Como se explic ms arriba, la compresin de tabla OLTP no produce ningn efecto negativo en las operaciones de lectura. Resulta imposible eliminar la carga de rendimiento en las operaciones de escritura, dado que se realizan tareas adicionales durante la escritura de datos. Sin embargo, Oracle se ha esforzado por minimizar esta carga en la compresin de tabla OLTP. Oracle comprime los bloques en lote en lugar de comprimir los datos cada vez que se produce una operacin de escritura. Un bloque iniciado recientemente permanece sin comprimir hasta que los datos del bloque alcancen un umbral de control interno. Cuando una transaccin hace que los datos del bloque alcancen este umbral, se comprime todo el contenido del bloque. Posteriormente, a medida que se agregan ms datos al bloque y se vuelve a alcanzar el umbral, se vuelve a comprimir todo el bloque para alcanzar el nivel ms alto de compresin. Este proceso se repite hasta que Oracle determine que ya no es beneficioso continuar comprimiendo el bloque. Solo las transacciones que activan la compresin del bloque experimentan la carga de compresin mnima. Por ende, gran parte de las transacciones OLTP en bloques comprimidos tendrn exactamente el mismo rendimiento que tendran con bloques sin comprimir.

Bloque vaco

Bloque sin comprimir inicialmente

Bloque Bloque Bloque parcialmente comprimido comprimido comprimido Leyenda

Datos de encabezamiento Espacio libre


Figura 2: Proceso de compresin de tabla OLTP

Datos sin comprimir Datos comprimidos

Compresin avanzada de Oracle con Oracle Database 11g

Compresin de datos de archivos


SecureFiles, una nueva funcin incluida en Oracle Database 11g, ofrece una arquitectura con lo mejor de ambos sistemas, que permite almacenar contenido no estructurado, como documentos, hojas de clculo y archivos XML. SecureFiles ha sido especficamente diseada para ofrecer un alto nivel de rendimiento en datos de archivos, comparable con el de los sistemas de archivos tradicionales, a la vez que conserva las ventajas de las bases de datos Oracle. SecureFiles es un superconjunto del tipo de datos LOB de estndar ANSI que facilita la migracin de LOB BasicFile existentes, el precursor de SecureFiles. Gracias a SecureFiles, las organizaciones ahora pueden administrar todos los datos relacionales y los datos de archivos relacionados de Oracle en un solo modelo de seguridad y auditora, y en un proceso de recuperacin y backup unificado, y pueden realizar recuperaciones efectivas de toda su informacin. La opcin de compresin avanzada de Oracle Database 11g incluye tecnologas de compresin y eliminacin de datos duplicados que reducen notablemente el espacio de almacenamiento de los datos de SecureFiles.

Eliminacin de datos duplicados de SecureFiles


Es muy frecuente que las aplicaciones almacenen rplicas exactas de los archivos. Un ejemplo tpico es el de una aplicacin de correo electrnico a travs de la cual varios usuarios reciben el mismo archivo adjunto. La funcin de eliminacin de datos duplicados de SecureFiles es una tecnologa inteligente incluida en la opcin de compresin avanzada que elimina las copias duplicadas de datos SecureFiles. Oracle almacena una imagen del dato SecureFiles y reemplaza las copias duplicadas con referencias sobre esta imagen.

Hash seguro

Figura 3: Eliminacin de datos duplicados de SecureFiles

Pensemos en una aplicacin de correo electrnico a travs de la cual diez usuarios reciben un mensaje con el mismo archivo adjunto de 1 MB. Sin funcin de eliminacin de datos duplicados de SecureFiles, el sistema almacenara una copia del archivo por cada uno de los diez usuarios, es decir, se necesitaran 10 MB de almacenamiento. Si la aplicacin de correo electrnico del ejemplo hubiera utilizado la funcin de eliminacin de datos duplicados de SecureFiles, habra

Compresin avanzada de Oracle con Oracle Database 11g

almacenado el archivo adjunto de 1 MB una sola vez. De ese modo, se hubiera ahorrado un 90% de capacidad de almacenamiento. Adems del ahorro en almacenamiento, la funcin de eliminacin de datos duplicados de SecureFiles tambin incrementa el rendimiento de la aplicacin. En particular, las operaciones de escritura y copia se vuelven mucho ms eficientes, ya que solo se escriben referencias sobre la imagen de SecureFiles. Asimismo, las operaciones de lectura pueden mejorarse si ya existen datos de SecureFiles duplicados en la cach de bfer.

Compresin de SecureFiles
La opcin de compresin avanzada de Oracle Database 11g proporciona otro mecanismo adicional para controlar el tamao de los datos de SecureFiles. Adems de la funcin de eliminacin de datos duplicados de SecureFiles explicada ms arriba, la funcin de compresin de SecureFiles utiliza algoritmos de compresin estndares en el sector para minimizar an ms los requisitos de almacenamiento de los datos de SecureFiles. La compresin de SecureFiles permite reducir el tamao de archivos comunes como documentos o archivos XML entre dos y tres veces. Gracias a su inteligencia incorporada, la compresin de SecureFiles automticamente evita comprimir datos que no se beneficiaran con dicha compresin, por ejemplo, un documento que se ha comprimido mediante la herramienta de un tercero antes de ser incluido en la base de datos como archivo de SecureFiles. Las aplicaciones pueden seguir ejecutando lecturas y escrituras aleatorias en datos de SecureFiles comprimidos, ya que estos datos comprimidos se reducen en componentes ms pequeos de datos. De este modo, mejora enormemente el rendimiento si se compara con la compresin de archivos enteros antes de ingresarlos en la base de datos. Hay tres niveles de compresin SecureFiles disponibles: LOW, MEDIUM y HIGH. El nivel predeterminado que usa la compresin de SecureFiles es MEDIUM, el cual generalmente proporciona la efectiva compresin de una carga de CPU modesta, de 3% a 5%. El nivel de compresin de SecureFiles LOW, nuevo en Oracle Database 11g versin 2, se ha optimizado para ofrecer un mejor rendimiento. Este nivel mantiene cerca del 80% de la compresin alcanzada en el nivel MEDIUM, a la vez que hace un uso de la CPU tres veces menor. Por ltimo, el nivel de compresin de SecureFiles HIGH permite alcanzar el mayor ahorro de almacenamiento, pero implica una carga de CPU ms alta. Si desea obtener ms informacin sobre SecureFiles y almacenamiento de LOB, consulte Oracle Database SecureFiles and Large Objects Developer's Guide (Gua del Desarrollador de Objetos LOB y SecureFiles de Oracle Database).

Compresin avanzada de Oracle con Oracle Database 11g

Compresin de datos de backup


Adems de la compresin de datos almacenados dentro de una base de datos, la opcin de compresin avanzada de Oracle tambin incluye la capacidad de comprimir datos de backup. Recovery Manager (RMAN) y Data Pump son las dos herramientas ms utilizadas para hacer backup de datos almacenados dentro de una base de datos Oracle. La herramienta RMAN realiza backup bloque por bloque de los datos contenidos en la base de datos; a este proceso tambin se lo conoce como backup fsico y puede usarse para hacer recuperaciones en bases de datos, espacios de tablas o bloques. La herramienta Data Pump se utiliza para realizar backup lgico, que consiste en descargar datos de una o ms tablas en un archivo plano. La compresin avanzada de Oracle incluye la capacidad de comprimir los datos de backup generados por ambas herramientas.

Compresin con Recovery Manager (RMAN)


El crecimiento continuo de las bases de datos empresariales representa un enorme desafo para los administradores de bases de datos. Los requisitos de almacenamiento necesarios para mantener los backups de las bases de datos y el rendimiento de estos procedimientos de backup se ven afectados directamente por el tamao de la base de datos. La compresin avanzada de Oracle incluye la tecnologa de compresin RMAN que puede reducir notablemente los requisitos de almacenamiento de datos de backup. Debido a que la tecnologa RMAN est estrechamente integrada a las base de datos Oracle, los datos de backup se comprimen antes de su escritura en el disco o la cinta y no tienen que descomprimirse antes de la recuperacin, lo cual reduce en gran medida los costos de almacenamiento. Hay tres niveles de compresin RMAN disponibles: LOW, MEDIUM y HIGH. La proporcin de ahorro en almacenamiento aumenta del nivel LOW al HIGH, a la vez que se consumen ms recursos de la CPU.

Compresin Data Pump


La capacidad de compresin de los metadatos asociados con una tarea Data Pump se puso a disposicin por primera vez en la Oracle Database 10g versin 2. En Oracle Database 11g, esta capacidad de compresin se ha extendido de manera tal que pueden comprimirse los datos de una tabla durante la exportacin. La compresin Data Pump es una operacin en lnea, por lo que la reduccin en el tamao del archivo de volcado de memoria implica un ahorro significativo de espacio en disco. A diferencia de las utilidades de compresin de los sistemas de archivo

Compresin avanzada de Oracle con Oracle Database 11g

o sistemas operativos, la compresin Data Pump se produce totalmente en lnea, tambin durante la importacin, por lo que no es necesario descomprimir un archivo de volcado de memoria antes de importarlo. Los conjuntos de archivos de volcado de memoria comprimidos se descomprimen automticamente durante la importacin, sin que el administrador de bases de datos deba llevar a cabo ninguna otra accin. La funcionalidad completa Full Data Pump est disponible con el uso de un archivo comprimido. Todo comando que se utilice con un archivo comn tambin podr aplicarse a un archivo comprimido. Los usuarios disponen de las siguientes opciones para determinar qu partes del conjunto de archivos de volcado de memoria deben comprimirse:

ALL permite la compresin de la funcin de exportacin completa. DATA-ONLY se traduce en la escritura de todos los datos en el archivo de volcado de memoria en formato comprimido. METADATA-ONLY se traduce en la escritura de todos los metadatos en el archivo de volcado de memoria en formato comprimido. Esta es la opcin predeterminada. NONE deshabilita la compresin de la funcin de exportacin completa.

La reduccin del tamao del archivo de volcado de memoria vara segn los tipos de datos, entre otros factores. Debe tenerse en cuenta que al realizar una importacin con Data Pump, las sentencias CREATE TABLE incluirn clusulas de compresin que coincidirn con la definicin presente en el archivo de exportacin. Si falta una clusula de compresin, la tabla heredar los atributos COMPRESSION del espacio de tablas en el cual la tabla est almacenada. Para obtener ms informacin acerca de Oracle Data Pump, visite http://www.oracle.com/technology/products/database/utilities/index.html

Compresin de trfico de red


Oracle Data Guard proporciona la infraestructura de software de administracin, monitoreo y automatizacin que permite crear, mantener y supervisar una o ms bases de datos de reserva; el objetivo es proteger los datos empresariales contra fallas, desastres, errores y daos en los datos. Data Guard mantiene la sincronizacin de bases de datos primarias y de reserva mediante datos de reconstruccin (que constituyen la informacin requerida para recuperar una transaccin). Al producirse la transaccin en la base de datos primaria, los datos de reconstruccin se generan y se escriben en los archivos de registro de reconstruccin locales.

10

Compresin avanzada de Oracle con Oracle Database 11g

Los servicios Data Guard Redo Transport se utilizan para transferir estos datos de reconstruccin a los sitios de reserva. A travs de la compresin avanzada, los datos de reconstruccin pueden transferirse en formato comprimido para reducir el consumo de ancho de banda de la red y, en algunos casos, su tiempo de transmisin. A partir del lanzamiento de Oracle Database 11g versin 2, los datos de reconstruccin pueden transferirse en formato comprimido cuando la configuracin de Oracle Data Guard utiliza un transporte de reconstruccin sincrnico (SYNC) o un transporte de reconstruccin asincrnico (ASYNC). Para obtener informacin acerca de Oracle Data Guard, visite http://www.oracle.com/technology/deploy/availability/index.html

Conclusin
La explosin del volumen de datos que experimentan las empresas plantea desafos significativos. Las empresas deben adaptarse rpidamente a los cambios del panorama de negocios sin que se vea afectada su rentabilidad. Los administradores de TI deben gestionar en forma eficiente la infraestructura existente para el control de costos y, a la vez, ofrecer aplicaciones con un rendimiento extraordinario. La opcin de compresin avanzada de Oracle Database 11g proporciona un conjunto slido de capacidades de compresin que permite a los administradores de TI enfrentar eficientemente este entorno complejo. Gracias a la opcin de compresin avanzada, las empresas pueden administrar con eficiencia los crecientes requisitos de datos en todos los componentes de su centro de datos; de esta forma, minimizan los costos a la vez que continan alcanzado los niveles ms altos de rendimiento de las aplicaciones.

11

Compresin avanzada de Oracle con Oracle Database 11g

Ejemplos de sintaxis de compresin


Los siguientes ejemplos muestran lo sencillo que resulta activar la compresin de tabla OLTP y las funciones de compresin y eliminacin de datos duplicados de SecureFiles; para obtener informacin ms detallada, consulte la referencia sobre lenguaje SQL para bases de datos Oracle.
Sintaxis de compresin de tabla OLTP

CREATE TABLE emp ( emp_id NUMBER , first_name VARCHAR2(128) , last_name VARCHAR2(128) ) COMPRESS FOR OLTP;

Sintaxis de eliminacin de datos duplicados de SecureFiles

CREATE TABLE images ( image_id NUMBER, image BLOB) LOB(image) STORE AS SECUREFILE (TABLESPACE lob_tbs DEDUPLICATE);

Sintaxis de compresin de SecureFiles

CREATE TABLE images ( image_id NUMBER, image BLOB) LOB(image) STORE AS SECUREFILE (TABLESPACE lob_tbs COMPRESS);

12

Compresin avanzada con Oracle Database 11g Octubre 2011 Autor: Gregg Christman Coautor: Kevin Jernigan Oracle Corporation Sede mundial 500 Oracle Parkway Redwood Shores, CA 94065 EE. UU. Consultas internacionales: Telfono: +1.650.506.7000 Fax: +1.650.506.7200 oracle.com

Copyright 2011, Oracle y/o sus subsidiarias. Todos los derechos reservados. Este documento se proporciona exclusivamente con fines informativos y sus contenidos estn sujetos a cambio sin previo aviso. No se garantiza que el presente documento est libre de errores, ni tampoco est sujeto a otras garantas y condiciones, ya sean expresadas oralmente o implcitas en la legislacin, incluidas garantas y condiciones implcitas de comerciabilidad o adecuacin para un propsito en particular. Oracle se exime especficamente de cualquier responsabilidad con respecto al presente documento y tampoco se establece relacin contractual directa o indirecta alguna mediante el mismo. El presente documento no podr reproducirse, ni transmitirse de forma ni por medio alguno, sea este electrnico o mecnico, para finalidad alguna, sin el expreso consentimiento escrito de Oracle Corporation. Oracle y Java son marcas comerciales registradas de Oracle y/o sus subsidiarias. Los dems nombres pueden ser marcas comerciales de sus respectivos propietarios. AMD, Opteron, el logotipo de AMD y el logotipo de AMD Opteron son marcas comerciales o marcas registradas de Advanced Micro Devices. Intel e Intel Xeon son marcas comerciales o marcas registradas de Intel Corporation. Todas las marcas comerciales SPARC se utilizan con licencia y son marcas comerciales o marcas registradas de SPARC International, Inc. UNIX es una marca comercial registrada con licencia a travs de X/Open Company, Ltd. 0410.

Вам также может понравиться