Mostrando las entradas con la etiqueta Advanced Compression. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Advanced Compression. Mostrar todas las entradas

lunes, 26 de agosto de 2019

Características Avanzadas en Oracle XE 18c - Compresión Avanzada (Parte 2)

En esta segunda parte se analizarán los resultados de aplicar la compresión de datos avanzada sobre dos tablas con la misma estructura y datos, salvo que una de las tablas no comprimirá sus datos y la otra sí.

Puede crear las tablas en el esquema HR o en un nuevo esquema.

Las tablas tendrán la siguiente estructura:
 


Crear la tabla FACTURA_DETALLE

create table factura_detalle(
  fd_id varchar2(10) not null,
  nro_dtl integer not null,
  producto_id number(6) not null,
  cantidad number(6,3) not null,
  precio  number(6,3) not null,
  importe number generated always as (cantidad*precio) virtual,
  constraint fct_dtl_pk primary key(fd_id,nro_dtl)
)ROW STORE COMPRESS ADVANCED tablespace users;


Crear la tabla FACTURA_DETALLE_UNCOMPRESS

create table factura_detalle_uncompress(
  fd_id varchar2(10) not null,
  nro_dtl integer not null,    
  producto_id number(6) not null,
  cantidad number(6,3) not null,
  precio  number(6,3) not null,
  importe number generated always as (cantidad*precio) virtual,
  constraint fct_dtl_pk primary key(fd_id,nro_dtl)
)tablespace users;

Insertar 10000 filas en la tabla comprimida y no comprimida usando el siguiente código PL/SQL :


Después de ejecutar con éxito el bloque PL/SQL, ejecutar la siguiente sentencia de selección para consultar el total en bytes ocupado por cada tabla:


Análisis de resultados
Puede apreciarse en los resultados de la consulta que FACTURA_DETALLE ocupa un poco más de la mitad del almacenamiento requerido por su contraparte no comprimida(FACTURA_DETALLE_UNCOMPRESS), es decir, que el radio de compresión de datos se aproxima a 2x o lo que es lo mismo, se redujo dos veces el espacio requerido en la tabla comprimida.


Conclusión

Se ha demostrado que la Compresión de Datos Avanzada es de gran utilidad para reducir el volumen de almacenamiento de datos a medida que estos se incrementan permitiendo ahorrar costos en este ámbito sin peder el rendimiento del SGBD. 











sábado, 24 de agosto de 2019

Características Avanzadas en Oracle XE 18c - Compresión Avanzada (Parte 1)

Desde la versión 18c, Oracle Database XE es muy diferente de las versiones previas (XE 10g y XE 11g) porque incluye muchas de las características de la Edición Empresarial (EE - Enterprise Edition)  de forma gratuita como por ejemplo: 
  • Compresión de Datos Avanzada(Advanced Compression).  
  • Seguridad Avanzada (Advanced Security).
  • En Memoria (In-Memory).
  • Compresión a Nivel de Índice(Index Compression)
  • Particionamiento(Partitioning)
Pulsar aquí para obtener una lista completa de características disponibles.

Este post se centrará brevemente en la Compresión Avanzada de Datos, característica que permite ganar espacio de almacenamiento a medida que el volumen de los datos se incrementa. El radio de compresión de datos es de 2x a 4x, es decir, reduce de 2 a 4 veces el espacio requerido para almacenar datos de una tabla (datos estructurados), incluso puede comprimir objetos como archivos (datos no estructurados como objetos grandes o LOBS).

Entre las ventajas de la compresión de datos avanzada se tiene:
  1. Reducción del espacio de almacenamiento requerido.
  2. No hay sobrecarga en operaciones de lectura en bloques comprimidos.
  3. Mayor rendimiento en operaciones DML como INSERT y UPDATE.

Esta característica se puede aplicar a tablas existentes o en el proceso de creación de las mismas sobre todo en ambientes de Almacenes de Datos (Data WareHouse), es decir, en entornos activos de almacenamiento y procesamiento de datos variables en el tiempo y que permiten tomar decisiones en los negocios.
 
Sintaxis para su aplicación en el proceso de creación de una tabla

create table NombreTabla(
   campos...
)ROW STORE COMPRESS ADVANCED

Ejemplo:


create table Objetos(
    objeto_id number(6) PRIAMRY KEY,
    objeto_nombre varchar2(120) NOT NULL
)ROW STORE COMPRESS ADVANCED 
tablespace USERS;  


Sintaxis para su aplicación en una tabla creada
 
alter table NombreTabla
ROW STORE COMPRESS ADVANCED ;

Ejemplo:

alter table Employees
ROW STORE COMPRESS ADVANCED;
 
Para verificar que la compresión de datos avanzada se ha aplicado a las tablas, se debe submitir la siguiente sentencia:

SELECT compression, compress_for
FROM   user_tables
WHERE  table_name IN('Objetos','Employees');


 
Resultado
 
TABLE_NAME  COMPRESS  COMPRESS_FOR                  
--------------------  ---------------   ------------------------------
EMPLOYEES     ENABLED     ADVANCED                            
OBJETOS            ENABLED    ADVANCED              
 
Aplicación desde Oracle SQL Developer 

Para aplicar la compresión avanzada de datos en SQL Developer, se debe editar o crear la tabla y selecciona
la opción Almacenamiento que se muestra en la siguiente imagen:
  
 
Hacer click en la opción del panel izquierdo DDL para visualizar la sentencia DDL generada.
 

Click en Aceptar.

Conclusión 
 
La Compresión de Datos Avanzada es una característica muy importante que puede ser aplicada en la base 
de datos Oracle 18c XE para ahorrar espacio de almacenamiento considerando el límite de 12GB impuesto
a esta edición, el dominio de esta técnica permitirá optimizar el almacén de datos. 
 


Entrada destacada

Cómo instalar Oracle Database 18c Express Edition para Windows

Oracle Database 18c XE ya está disponible para Windows 64bit, en este post se enseñará como instalar y configurar esta nueva versión en W...