Base de datos columnar

Mientras que la mayoría de las bases de datos distribuyen la información en filas, las bases de datos columnares funcionan de la manera contraria: los datos se distribuyen en columnas. ¿Por qué se hace esto? En el siguiente artículo descubrirás las ventajas de las bases de datos conocidas como columnar databases.

¿Cómo están estructuradas las bases de datos columnares?

En general, las bases de datos se orientan a filas. El sistema de gestión de base de datos (SGBD) crea una línea para cada entrada. Los campos con la información se listan uno tras otro. Un ejemplo clásico lo encontramos en las bases de datos relacionales. Las bases de datos columnares hacen lo contrario: por cada entrada, hay una columna, por lo tanto, los datos de cada entrada están dispuestos uno debajo del otro (y no uno al lado del otro, como en la variante orientada a filas).

Para clarificar, mostramos aquí el sistema orientado a filas:

Número Apellido Nombre Clave
1. Skywalker Luke 3FN-Z768
2 Kenobi Obi-wan 7TR-K345
3 Organa Leia 8NN-R266

La base de datos columnar gira la base de datos, quedando de esta forma:

Número 1. 2. 3.
Apellido Skywalker Kenobi Organa
Nombre Luke Obi-wan Leia
Clave 3FN-Z768 7TR-K345 8NN-R266

En el disco duro, sin embargo, los datos se muestran unidimensionales, es decir, se representan de forma sucesiva. Para las bases de datos orientadas a filas esto significa lo siguiente:

1, Skywalker, Luke, 3FN-Z768; 2, Kenobi, Obi-wan, 7TR-K345; 3, Organa, Leia, 8NN-R266

La base de datos columnar también almacena la información de forma sucesiva, pero al organizar los datos de otra forma también resulta una secuencia de datos distinta:

1, 2, 3; Skywalker, Kenobi, Organa; Luke, Obi-wan, Leia; 3FN-Z768, 7TR-K345, 8NN-R266
Consejo

Además de las bases de datos columnares, existen otras alternativas al modelo clásico Las bases de datos NoSQL o su subcategoría, las bases de datos documentales, y el formato relacionado bases de datos de clave-valor son cada vez más objeto de atención. Las bases de datos de grafos están también ganando popularidad, ya que este modelo permite representar muy bien datos muy interconectados.

Ámbitos de aplicación de las bases de datos columnares

Los sistemas relacionales basados en líneas se utilizan sobre todo cuando hay que realizar muchas transacciones rápidamente. Escribir, cambiar, borrar entradas: todo esto funciona muy bien con bases de datos relacionales. Las bases de datos columnares se utilizan cuando hay que analizar grandes cantidades de datos.

En muchos campos de aplicación (por ejemplo, pero no exclusivamente, en la investigación) los datos pasan por evaluaciones continuas. Esto es mucho más rápido con sistemas basados en columnas: la razón de esto es que se requiere acceder menos al disco duro. Los datos de una categoría se almacenan muy próximos entre sí. Si se desea leer y evaluar un registro de datos, basta con cargar un bloque; no es necesario leer la base de datos completa.

Ventajas y desventajas de la base de datos columnar

Las bases de datos columnares hacen alarde de sus ventajas cuando se deben realizar operaciones de evaluación de grandes volúmenes de datosbig data. Dado que el acceso al disco duro suele ser el cuello de botella en la lectura de cualquier base de datos y el acceso a una base de datos columnar es más eficiente, es aquí donde radica la mayor ventaja de la variante basada en columnas.

Sin embargo, en las aplicaciones transaccionales los accesos son diferentes en la mayoría de los casos: aquí, los datos nuevos se deben distribuir a través de toda la base de datos. En esta tarea, una base de datos orientada a columnas sería más lenta que el modelo clásico.

Otra ventaja de las bases de datos columnares es la posibilidad de compresión. Los datos de una columna son siempre del mismo tipo, por ejemplo, una cadena o un entero. Como todas las entradas de un tipo están próximas entre sí, se pueden comprimir de forma más eficiente.

Las bases de datos columnares más conocidas

Aunque los sistemas de gestión de bases de datos columnares se utilizan desde hace ya bastante tiempo, el número de implementaciones disponibles es aún muy escaso, porque hay mayor demanda de bases de datos relacionales. A pesar de esto, se han establecido algunos sistemas.

  • Amazon Redshift: como parte de Amazon Web Services (AWS), Redshift ofrece un almacén de datos columnar para big data.
  • MariaDB-ColumnStore: el DBMS MariaDB (Fork de MySQL) de código abierto ofrece con el ColumnStore también una combinación de base de datos columnar y relacional.
  • SAP HANA: la plataforma de desarrollo de SAP también utiliza una combinación de una base de datos relacional y una columnar.
  • Apache Cassandra: el software libre está basado en Apache Hadoop y está escrito en Java.
  • MonetDB: este software de código abierto se desarrolló prestando especial atención a la minería de datos.
¿Le ha resultado útil este artículo?
Page top