¿Qué es la compresión de datos en la base de datos?

La compresión de datos es una técnica utilizada para reducir el almacenamiento total requerido para guardar los contenidos definidos, todos los registros de la tabla.

Es fácil pensar en un momento en que haya visto una tabla impresa, formateada para su visualización. Las columnas están alineadas a la izquierda o alineadas a la derecha con un espacio en blanco considerable en el espacio entre muchas de las columnas. La brecha no es solo la configuración de la pestaña, sino el vacío donde otras filas tienen valores mucho más grandes / más largos en esa columna.

Observe estas dos filas que se pueden encontrar en una tabla de detalles de la declaración de impuestos:

  • Interesar
  • Ingreso neto total ajustado

Al planificar una tabla de base de datos, el diseñador le permite al sistema de administración de la base de datos saber qué columnas tendrá la tabla y, en gran medida, qué valor de tamaño máximo debe contener la columna. En el ejemplo anterior, la columna necesita almacenamiento para guardar los 25 caracteres de “Ingresos netos ajustados totales”. El “interés” podría almacenarse con espacios finales que llenen el campo de 25 caracteres.

Un enfoque básico para implementar la tabla sería reservar el espacio total posible para la fila, cuando se agrega la fila. El desperdicio de ese algoritmo es que, al igual que con nuestra tabla impresa, una gran cantidad de almacenamiento nunca contendrá nada.

La compresión de datos es un enfoque (hay varias estrategias) por el cual el almacenamiento físico realmente requerido puede ser menor que el tamaño diseñado, cuando los datos realmente almacenados no requieren todo el espacio.

Por lo general, el DBMS maneja esta compresión durante las escrituras en la tabla. Y el DBMS maneja la descompresión cuando una aplicación necesita leer los datos.

Algunas bases de datos consideran conjuntos de filas de datos juntos, como un bloque, y usan una estrategia de compresión en todo el bloque de registros. El bloque se descomprime cuando se necesita cualquiera de los datos que contiene.

Las claves (índices) en la tabla generalmente mantienen aceptable el rendimiento de recuperación. Por lo general, no están comprimidos de una manera que ralentizaría la búsqueda de claves.