Bases de datos clave-valor

En informática, se emplean muchos tipos de bases de datos diferentes. Entre las más utilizadas se encuentran las denominadas “relacionales”, ya que permiten una buena interconexión de la información. No obstante, existen otros tipos con ventajas especiales que suponen por ello una mejor opción en determinadas situaciones: bases de datos NoSQL, de documentos, basadas en columnas u orientadas a grafos. De igual modo, también existen las llamadas bases de datos clave-valor, en las que un principio básico sirve de una gran utilidad.

¿Qué es una base de datos clave-valor?

Esta modalidad de base de datos, key-value database o store en inglés, se basa en una tabla de tan solo dos columnas. En una de ellas se guarda un valor y en la otra, una clave que representa una característica identificativa única. Un valor puede ser sencillo, como una cadena de caracteres o un número entero, o pueden ser objetos complejos (un documento también puede ocupar el lugar de un valor, aunque, entonces se hablaría de una base de datos de documentos). En las bases de datos se pueden incluir también referencias a archivos, así como a tuplas (conjunto de valores).

El contenido de la base de datos puede ser muy heterogéneo, por lo que es posible incluir objetos distintos en una misma columna. Lo mismo se aplica a los rasgos identificativos. En la mayoría de los casos, las claves seguirán un determinado esquema, pero esto no es indispensable. Tanto las cadenas de caracteres como los enteros se pueden constituir siguiendo criterios libres.

Hecho

Las bases de datos clave-valor se emplean como bases de datos in-memory (es decir, en la memoria RAM) y como soluciones on disk (es decir, en el disco duro).

Ventajas y aplicaciones de las bases de datos clave-valor

Las bases de datos clave-valor son muy efectivas en la consulta y fáciles de escalar, lo cual se deriva de la sencilla estructura del modelo. Puesto que el almacenamiento clave-valor no exige ningún esquema fijo, se pueden realizar modificaciones en la base de datos sobre la marcha, de modo que es posible añadir nuevos campos mientras se realizan acciones en otras entradas.

Asimismo, este modelo de base de datos ofrece una gran velocidad de búsqueda gracias a la sencilla conexión entre la clave y el valor. Si se desea recuperar información, solo se tendrá que consultar un valor a través de una clave específica. Los datos siempre están a mano. Por otro lado, esto constituye al mismo tiempo una desventaja de este tipo de almacenamiento, ya que no contempla otro método de acceso. En las bases de datos relacionales, por ejemplo, pueden emplearse métodos complejos de consulta, pues el contenido de estas bases de datos se localiza utilizando diferentes aspectos. Por el contrario, en el almacenamiento de clave-valor únicamente está prevista la búsqueda a través de la clave, por lo que, en general, se debe renunciar a otras indicaciones o métodos de búsqueda.

Los campos de aplicación de las bases de datos clave-valor se derivan tanto de las ventajas que aportan como de sus limitaciones. Así, se utilizan siempre que se requiere una alta velocidad con un gran volumen de datos, como en las cestas de la compra de las tiendas online o para datos de sesión. En estos casos, la información está dispuesta de forma clara y debe estar disponible en poco tiempo. En sitios web muy conocidos y de mucho tamaño, estas bases de datos deben crear continuamente nuevas entradas y eliminar las antiguas, por lo que el almacenamiento clave-valor resulta perfecto para ello.

Bases de datos clave-valor conocidas.

En la actualidad, existen distintos sistemas de gestión de bases de datos (SGBS) basados en el almacenamiento con claves y valores.

  • Amazon DynamoDB: pertenece a Amazon Web Services (AWS) y puede emplearse también como base de datos de documentos.
  • Berkeley DB: desarrollado por Oracle, ofrece interfaces para diferentes lenguajes de programación.
  • Redis: proyecto de código abierto. Constituye uno de los SGBD más utilizados y en una fase temprana fue empleado por Instagram y GitHub.
  • Riak: Riak existe en una variante de código libre, como solución empresarial y en forma de almacenamiento en la nube.
  • Voldemort: extendido SGBD, utilizado e impulsado por LinkedIn, entre otros.