¿Qué es una base de datos en columnas?
Una base de datos en columnas es un sistema de gestión de bases de datos (DBMS) que almacena datos en columnas en lugar de filas. El propósito de una base de datos en columnas es escribir y leer datos de manera eficiente desde y hacia disco duro almacenamiento para acelerar el tiempo que se tarda en devolver una consulta. Las bases de datos en columnas almacenan datos de una manera que mejora en gran medida el rendimiento de E / S del disco. Son particularmente útiles para analítica de datos y almacenamiento de datos.
Base de datos en columnas frente a base de datos orientada a filas
Las bases de datos orientadas a columnas y las bases de datos orientadas a filas son métodos para procesamiento de datos en almacenes de datos. Sin embargo, tienen diferentes enfoques: mientras que las bases de datos orientadas a columnas almacenan datos en columnas, las bases de datos orientadas a filas almacenan datos en filas. En lugar de mantener un registro de cada columna de una tabla en una sola fila, una base de datos orientada a columnas almacenará los datos de cada columna en una sola columna.
El principal beneficio de una base de datos en columnas es un rendimiento más rápido en comparación con una orientada a filas. Eso es porque accede a menos memoria para generar datos. Debido a que una base de datos en columnas almacena datos por columnas en lugar de filas, puede almacenar más datos en una menor cantidad de memoria. Y debido a que la recuperación de datos inicial se realiza columna por columna, solo se recuperan las columnas que deben usarse. Esto hace posible que una base de datos en columnas se escale de manera eficiente y maneje grandes cantidades de datos.
Ejemplo de base de datos en columnas
En una base de datos de columnas, todos los valores de una columna se agrupan físicamente. Por ejemplo, todos los valores de la columna 1 están agrupados; luego, todos los valores de la columna 2 se agrupan; etc. El datos se almacena en orden de registro, por lo que la entrada número 100 de la columna 1 y la entrada número 100 de la columna 2 pertenecen al mismo registro de entrada. Esto permite acceder a los elementos de datos individuales, como el nombre del cliente, en columnas como grupo, en lugar de hacerlo individualmente fila por fila.
A continuación se muestra un ejemplo de una tabla de base de datos simple con cuatro columnas y tres filas.
Número de cuenta | Apellido | Nombre de pila | Compra (en dólares) |
0411 | Moriarty | Ángela | 52,35 |
0412 | Richards | Jason | 325,82 |
0413 | Diamante | Samantha | 25,50 |
En un DBMS en columnas, los datos se almacenarían así: 0411,0412,0413; Moriarty, Richards, Diamond; Angela, Jason, Samantha; 52.35,325.82,25.50.
En un DBMS orientado a filas, los datos se almacenarían así: 0411, Moriarty, Angela, 52.35; 412, Richards, Jason, 325.82; 0413, Diamond, Samantha, 25.50.
Beneficios de usar una base de datos en columnas
Las bases de datos en columnas existen desde hace décadas, pero ofrecen beneficios para las aplicaciones empresariales modernas, como el análisis de datos, la inteligencia empresarial (BI) y almacenamiento de datos, pero eso no es todo. Aquí hay tres ventajas clave de las bases de datos en columnas:
- De múltiples fines. Las bases de datos en columnas reciben mucha atención con las aplicaciones de big data. También se utilizan para otros fines: ejecutar procesamiento analítico en línea (OLAP) cubos, almacenando metadatos y realizar análisis en tiempo real. Las bases de datos en columnas son eficientes para estas tareas porque sobresalen en la carga rápida de nuevos datos.
- Datos comprimibles. Los datos pueden ser muy comprimido en una base de datos en columnas. La compresión permite que las operaciones en columnas, como MIN, MAX, SUM, COUNT y AVG, se realicen rápidamente.
- Autoindexación. Otro beneficio de un DBMS basado en columnas es la autoindexación, que utiliza menos espacio en disco que un sistema de gestión de bases de datos relacionales que contiene los mismos datos.
- Rapidez y eficacia. Las bases de datos en columnas realizan consultas analíticas más rápido que otras metodologías de bases de datos. También son rápidos y eficientes en la realización de uniones, una forma de combinar datos de dos tablas en una base de datos relacional. Aunque es una forma estándar de combinar datos, una combinación puede ser ineficaz y de rendimiento lento. Una base de datos en columnas puede unir rápidamente cualquier número de conjuntos de datos y puede agregar los resultados de una consulta en una única salida.
Limitaciones de la base de datos en columnas
Las bases de datos tradicionales son más adecuadas para la carga de datos incrementales que las bases de datos en columnas. La carga incremental de datos es una técnica que implementa una carga masiva de datos en una base de datos cargando solo un subconjunto de los datos.
Los datos se cargan de acuerdo con un desencadenar, que es un punto donde los datos se pueden cargar de manera más eficiente. Un ejemplo de un disparador es cuando otro usuario agrega datos o cuando ocurre una determinada hora del día. Si se produce el desencadenante, el subconjunto de datos antes del punto desencadenante se carga en la base de datos. Esta técnica es ideal para cargar información histórica o datos recientemente actualizados o creados.
Procesamiento de transacciones en línea (OLTP) las aplicaciones tampoco son adecuadas en bases de datos orientadas a columnas. Las bases de datos orientadas a filas funcionan mejor para las aplicaciones OLTP porque tienen mejores procesamiento concurrente y capacidades de aislamiento, y utilizan el espacio en disco de manera más eficiente.
OLTP es un tipo de DBMS que maneja grandes cantidades de datos y consultas a corto plazo. Los datos se almacenan hasta que se modifican o eliminan, y el sistema OLTP generalmente permanecerá operativo durante este período de almacenamiento. Por el contrario, los datos del sistema OLAP se agregan y analizan para proporcionar una visión comercial estratégica. Las necesidades de almacenamiento de datos de OLTP y OLAP son diferentes. OLTP almacena principalmente operaciones de inserción, actualización y eliminación, mientras que OLAP almacena principalmente datos agregados.
Como el uso de análisis en memoria aumenta, los beneficios relativos de las bases de datos orientadas a filas frente a las orientadas a columnas pueden volverse menos importantes. El análisis en memoria no se ocupa de leer y escribir datos en un disco duro de manera eficiente. En cambio, permite consultar los datos en la memoria de acceso aleatorio.
Las bases de datos son una parte clave de la gestión de datos. Descubra lo que necesita saber para gestionar datos de forma eficaz en la empresa actual.