Mientras que la mayoría de las bases de datos di­s­tri­bu­yen la in­fo­r­ma­ción en filas, las bases de datos co­lu­m­na­res funcionan de la manera contraria: los datos se di­s­tri­bu­yen en columnas. ¿Por qué se hace esto? En el siguiente artículo de­s­cu­bri­rás las ventajas de las bases de datos conocidas como columnar databases.

¿Cómo están es­tru­c­tu­ra­das las bases de datos co­lu­m­na­res?

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 in­fo­r­ma­ción se listan uno tras otro. Un ejemplo clásico lo en­co­n­tra­mos en las bases de datos re­la­cio­na­les. Las bases de datos co­lu­m­na­res hacen lo contrario: por cada entrada, hay una columna, por lo tanto, los datos de cada entrada están di­s­pue­s­tos uno debajo del otro (y no uno al lado del otro, como en la variante orientada a filas).

Para cla­ri­fi­car, 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 uni­di­me­n­sio­na­les, es decir, se re­pre­se­n­tan de forma sucesiva. Para las bases de datos orie­n­ta­das 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 in­fo­r­ma­ció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 co­lu­m­na­res, existen otras al­te­r­na­ti­vas al modelo clásico Las bases de datos NoSQL o su su­b­ca­te­go­ría, las bases de datos do­cu­me­n­ta­les, y el formato re­la­cio­na­do 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 po­pu­la­ri­dad, ya que este modelo permite re­pre­se­n­tar muy bien datos muy in­te­r­co­ne­c­ta­dos.

Ámbitos de apli­ca­ción de las bases de datos co­lu­m­na­res

Los sistemas re­la­cio­na­les basados en líneas se utilizan sobre todo cuando hay que realizar muchas tra­n­sac­cio­nes rá­pi­da­me­n­te. Escribir, cambiar, borrar entradas: todo esto funciona muy bien con bases de datos re­la­cio­na­les. Las bases de datos co­lu­m­na­res se utilizan cuando hay que analizar grandes ca­n­ti­da­des de datos.

En muchos campos de apli­ca­ción (por ejemplo, pero no ex­clu­si­va­me­n­te, en la in­ve­s­ti­ga­ción) los datos pasan por eva­lua­cio­nes 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 de­s­ve­n­ta­jas de la base de datos columnar

Las bases de datos co­lu­m­na­res hacen alarde de sus ventajas cuando se deben realizar ope­ra­cio­nes de eva­lua­ció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 apli­ca­cio­nes tra­n­sac­cio­na­les los accesos son di­fe­re­n­tes en la mayoría de los casos: aquí, los datos nuevos se deben di­s­tri­buir 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 co­lu­m­na­res es la po­si­bi­li­dad de co­m­pre­sió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 co­lu­m­na­res más conocidas

Aunque los sistemas de gestión de bases de datos co­lu­m­na­res se utilizan desde hace ya bastante tiempo, el número de im­ple­me­n­ta­cio­nes di­s­po­ni­bles es aún muy escaso, porque hay mayor demanda de bases de datos re­la­cio­na­les. A pesar de esto, se han es­ta­ble­ci­do algunos sistemas.

  • Amazon Redshift: como parte de Amazon Web Services (AWS), Redshift ofrece un almacén de datos columnar para big data.
  • MariaDB-Co­lu­m­n­S­to­re: el DBMS MariaDB (Fork de MySQL) de código abierto ofrece con el Co­lu­m­n­S­to­re también una co­m­bi­na­ción de base de datos columnar y re­la­cio­nal.
  • SAP HANA: la pla­ta­fo­r­ma de de­sa­rro­llo de SAP también utiliza una co­m­bi­na­ción de una base de datos re­la­cio­nal 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 de­sa­rro­lló prestando especial atención a la minería de datos.
Ir al menú principal