Base de datos clave-valor
# Base de datos clave-valor

Una base de datos de clave-valor, o almacén de clave-valor, es un paradigma de almacenamiento de datos diseñado para almacenar, recuperar y administrar arreglos asociativos, una estructura de datos más comúnmente conocida hoy en día como un diccionario o tabla hash. Los diccionarios contienen una colección de objetos, o registros, que a su vez tienen muchos campos diferentes dentro de ellos, cada uno de los cuales contiene datos. Estos registros se almacenan y se recuperan utilizando una clave que identifica de manera única el registro y se utiliza para encontrar rápidamente los datos dentro de la base de datos.

Las bases de datos de clave-valor funcionan de forma muy diferente a las bases de datos relacionales más conocidas. Las BDR predefinen la estructura de datos como una serie de tablas que contienen campos con tipos de datos bien definidos. La presentación de los tipos de datos al programa de base de datos le permite aplicar una serie de optimizaciones. Por el contrario, los sistemas de clave-valor tratan los datos como una única colección opaca, que puede tener campos diferentes para cada registro. Esto ofrece una flexibilidad considerable y sigue más de cerca conceptos modernos como la programación orientada a objetos. Dado que los valores opcionales no se representan mediante marcadores de posición o parámetros de entrada, como en la mayoría de las bases de datos de valores clave, las bases de datos de valores clave suelen utilizar mucha menos memoria para almacenar la misma base de datos, lo que puede dar lugar a grandes aumentos de rendimiento en determinadas cargas de trabajo[se necesita cita].

El rendimiento, la falta de estandarización y otros problemas limitaron los sistemas de clave-valor a usos especializados durante muchos años, pero el rápido paso al cloud computing después de 2010 ha llevado a un renacimiento como parte del movimiento más amplio de NoSQL. Algunas bases de datos de grafos son también bases de datos de clave-valor internamente, añadiendo el concepto de las relaciones (punteros) entre registros como un tipo de datos de primera clase.

