
Una base de datos clave-valor , o almacén clave-valor , es un paradigma de almacenamiento de datos diseñado para almacenar, recuperar y gestionar matrices asociativas , una estructura de datos más conocida hoy en día como diccionario . Los diccionarios contienen una colección de objetos , o registros , que a su vez tienen muchos campos diferentes . Estos registros se almacenan y recuperan mediante una clave que los identifica de forma única y que se utiliza para encontrar los datos dentro de la base de datos . [ 1 ] [ 2 ]
La falta de estandarización, el soporte limitado para transacciones y las interfaces de consulta relativamente simples restringieron durante mucho tiempo muchos sistemas clave-valor a usos especializados, pero el rápido movimiento hacia la computación en la nube después de 2010 ayudó a impulsar un renovado interés en ellos como parte del movimiento NoSQL más amplio . Algunas bases de datos de grafos , como ArangoDB , [ 3 ] también son internamente bases de datos clave-valor, agregando el concepto de relaciones ( punteros ) entre registros como un tipo de dato de primera clase. [ 4 ] [ 5 ]
Definición
Las bases de datos clave-valor difieren de las bases de datos relacionales (RDB) más conocidas. Las RDB predefinen la estructura de datos en la base de datos como una serie de tablas que contienen campos con tipos de datos bien definidos . Exponer los tipos de datos al programa de la base de datos le permite aplicar varias optimizaciones. En cambio, los sistemas clave-valor tratan el valor como opaco para la propia base de datos y, por lo general, solo admiten operaciones simples como almacenar, recuperar, actualizar y eliminar un valor por su clave. Esto ofrece una flexibilidad considerable y hace que dichos sistemas sean muy adecuados para cargas de trabajo de baja latencia y alto rendimiento dominadas por búsquedas directas de claves, pero menos adecuados para aplicaciones que requieren consultas complejas o relaciones explícitas entre registros. [ 5 ] [ 4 ] Ser opaco significa que las claves no están sujetas a criterios de búsqueda, relaciones o restricciones de integridad referencial . [ 6 ] La opacidad es lo que distingue a los DBMS clave-valor de las bases de datos de documentos . Un sistema de gestión de bases de datos (DBMS) de documentos puede interpretar la estructura de un registro, mientras que un DBMS de clave-valor trata cada valor como un objeto opaco que solo puede recuperarse en su totalidad mediante su clave asociada, en lugar de consultar campos individuales. Esta distinción se mantiene incluso si un DBMS de documentos proporciona un campo identificador que permite recuperar documentos de la misma manera que un DBMS de clave-valor. Algunos DBMS de clave-valor admiten tipos de valores complejos; por ejemplo, Redis admite listas . [ 7 ]
Tipos y ejemplos
Los sistemas clave-valor abarcan un amplio espectro de consistencia , desde diseños eventualmente consistentes hasta fuertemente consistentes o serializables , y algunos permiten configurar el nivel de consistencia como parte del equilibrio entre latencia y disponibilidad. [ 5 ] [ 4 ] El renovado interés en los sistemas clave-valor y otros sistemas NoSQL fue impulsado en parte por las demandas de big data , aplicaciones distribuidas y en la nube. Su escalabilidad y disponibilidad los hicieron atractivos para la gestión de datos en la nube, aunque el soporte limitado para transacciones, las interfaces de consulta de bajo nivel y la falta de estandarización siguieron siendo obstáculos para una mayor adopción. [ 4 ] Algunos mantienen los datos en memoria (RAM) , mientras que otros emplean unidades de estado sólido o discos rotativos . [ 1 ]
Algunos sistemas clave-valor añaden estructura adicional a sus claves. Por ejemplo, Oracle NoSQL Database organiza los registros mediante claves compuestas con componentes "mayores" y "secundarios", una disposición que Oracle compara con la estructura de directorio-ruta de un sistema de archivos. Sin embargo, en términos más generales, los almacenes clave-valor se definen por el uso de claves únicas asociadas a valores opacos y por su énfasis en operaciones sencillas basadas en claves. [ 8 ]
Unix incluía dbm (administrador de bases de datos), una biblioteca de base de datos mínima escrita por Ken Thompson para administrar matrices asociativas con una sola clave y acceso basado en hash . Implementaciones posteriores y bibliotecas relacionadas incluyeron sdbm, GNU dbm (gdbm) y Berkeley DB . [ 9 ]
Un ejemplo más reciente es RocksDB , un motor de almacenamiento persistente de clave-valor desarrollado en Facebook y diseñado para aplicaciones a gran escala. [ 10 ] Otros ejemplos incluyen sistemas en memoria como Memcached y Redis , y sistemas persistentes como Berkeley DB, Riak y Voldemort . [ 4 ]
Véase también
Referencias
- 1 2 Corbellini, Alejandro; Mateos, Cristian; Zunino, Alejandro; Godoy, Daniela; Schiaffino, Silvia (1 de enero de 2017). "Big-data persistente: el panorama NoSQL" . Sistemas de Información . 63 : 1– 23. doi : 10.1016/j.is.2016.07.009 . hdl : 11336/58462 . ISSN 0306-4379 . Consultado el 25 de mayo de 2025 .
- ↑ Hecht, Robin; Jablonski, Stefan (2011). Evaluación de NoSQL: Un estudio orientado a casos de uso . Conferencia Internacional de 2011 sobre Computación en la Nube y Servicios. pp. 336–341 . doi : 10.1109/CSC.2011.6138544 .
- ↑ "Motores de almacenamiento" . ArangoDB . Consultado el 16 de noviembre de 2020 .
- 1 2 3 4 5 Grolinger, Katarina; Higashino, Wilson A.; Tiwari, Abhinav; Capretz, Miriam AM (2013). "Gestión de datos en entornos de nube: almacenes de datos NoSQL y NewSQL" . Journal of Cloud Computing: Advances, Systems and Applications . 2 (1) 22. doi : 10.1186/2192-113x-2-22 .
- 1 2 3 Gessert, Felix; Wingerath, Wolfram; Friedrich, Steffen; Ritter, Norbert (2017). "Sistemas de bases de datos NoSQL: una revisión y guía para la toma de decisiones". Computer Science - Research and Development . 32 ( 3– 4): 353– 365. doi : 10.1007/s00450-016-0334-3 .
- ↑ Lemahieu, Wilfried; Broucke, Seppe vanden; Baesens, Bart (12 de julio de 2018). Principios de la gestión de bases de datos: Guía práctica para almacenar, gestionar y analizar grandes y pequeños conjuntos de datos . Cambridge University Press . págs. 314–315 . ISBN 978-1-107-18612-5. Consultado el 16 de julio de 2026 .
- ↑ Sadalage, Pramod J.; Fowler, Martin (8 de agosto de 2012). NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence . Addison-Wesley . págs. 20–24 . ISBN 978-0-13-303612-1. Consultado el 16 de julio de 2026 .
- ↑ Base de datos NoSQL de Oracle .
- ↑ Seltzer, Margo I.; Yigit, Ozan (enero de 1991). "Un nuevo paquete de funciones hash para UNIX" (PDF) . Actas de la Conferencia Técnica USENIX de Invierno de 1991. Dallas, Texas. págs. 173–184 .
- ↑ Dong, Siying; Kryczka, Andrew; Jin, Yanqin; Stumm, Michael (2021). "Rocksdb: evolución de las prioridades de desarrollo en un almacén de clave-valor que sirve a aplicaciones a gran escala" . ACM Transactions on Storage . 17 (4): 1– 32. doi : 10.1145/3483840 .
- Tipos de bases de datos
- teoría de bases de datos
- Matrices asociativas
- Bases de datos clave-valor
- Gestión de datos
- Bases de datos
- Análisis de datos