En in­fo­r­má­ti­ca, se emplean muchos tipos de bases de datos di­fe­re­n­tes. Entre las más uti­li­za­das se en­cue­n­tran las de­no­mi­na­das “re­la­cio­na­les”, ya que permiten una buena in­te­r­co­ne­xión de la in­fo­r­ma­ción. No obstante, existen otros tipos con ventajas es­pe­cia­les que suponen por ello una mejor opción en de­te­r­mi­na­das si­tua­cio­nes: bases de datos NoSQL, de do­cu­me­n­tos, basadas en columnas u orie­n­ta­das 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 re­pre­se­n­ta una ca­ra­c­te­rí­s­ti­ca ide­n­ti­fi­ca­ti­va única. Un valor puede ser sencillo, como una cadena de ca­ra­c­te­res 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 do­cu­me­n­tos). En las bases de datos se pueden incluir también re­fe­re­n­cias a archivos, así como a tuplas (conjunto de valores).

El contenido de la base de datos puede ser muy he­te­ro­gé­neo, por lo que es posible incluir objetos distintos en una misma columna. Lo mismo se aplica a los rasgos ide­n­ti­fi­ca­ti­vos. En la mayoría de los casos, las claves seguirán un de­te­r­mi­na­do esquema, pero esto no es in­di­s­pe­n­sa­ble. Tanto las cadenas de ca­ra­c­te­res como los enteros se pueden co­n­s­ti­tuir 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 so­lu­cio­nes on disk (es decir, en el disco duro).

Ventajas y apli­ca­cio­nes 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 es­tru­c­tu­ra del modelo. Puesto que el al­ma­ce­na­mie­n­to clave-valor no exige ningún esquema fijo, se pueden realizar mo­di­fi­ca­cio­nes 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 in­fo­r­ma­ción, solo se tendrá que consultar un valor a través de una clave es­pe­cí­fi­ca. Los datos siempre están a mano. Por otro lado, esto co­n­s­ti­tu­ye al mismo tiempo una de­s­ve­n­ta­ja de este tipo de al­ma­ce­na­mie­n­to, ya que no contempla otro método de acceso. En las bases de datos re­la­cio­na­les, por ejemplo, pueden emplearse métodos complejos de consulta, pues el contenido de estas bases de datos se localiza uti­li­za­n­do di­fe­re­n­tes aspectos. Por el contrario, en el al­ma­ce­na­mie­n­to de clave-valor úni­ca­me­n­te está prevista la búsqueda a través de la clave, por lo que, en general, se debe renunciar a otras in­di­ca­cio­nes o métodos de búsqueda.

Los campos de apli­ca­ción de las bases de datos clave-valor se derivan tanto de las ventajas que aportan como de sus li­mi­ta­cio­nes. 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 in­fo­r­ma­ción está dispuesta de forma clara y debe estar di­s­po­ni­ble en poco tiempo. En sitios web muy conocidos y de mucho tamaño, estas bases de datos deben crear co­n­ti­nua­me­n­te nuevas entradas y eliminar las antiguas, por lo que el al­ma­ce­na­mie­n­to clave-valor resulta perfecto para ello.

Bases de datos clave-valor conocidas.

En la ac­tua­li­dad, existen distintos sistemas de gestión de bases de datos (SGBS) basados en el al­ma­ce­na­mie­n­to con claves y valores.

  • Amazon DynamoDB: pertenece a Amazon Web Services (AWS) y puede emplearse también como base de datos de do­cu­me­n­tos.
  • Berkeley DB: de­sa­rro­lla­do por Oracle, ofrece in­te­r­fa­ces para di­fe­re­n­tes lenguajes de pro­gra­ma­ción.
  • Redis: proyecto de código abierto. Co­n­s­ti­tu­ye uno de los SGBD más uti­li­za­dos y en una fase temprana fue empleado por Instagram y GitHub.
  • Riak: Riak existe en una variante de código libre, como solución em­pre­sa­rial y en forma de al­ma­ce­na­mie­n­to en la nube.
  • Voldemort: extendido SGBD, utilizado e impulsado por LinkedIn, entre otros.
Ir al menú principal