Articulo de referencia

Base de datos clave-valor

Una ficha de datos tabular propuesta para la Máquina Analítica de Babbage que muestra un par clave-valor, en este caso un número y su logaritmo en base diez. Una base de datos c...

Una ficha de datos tabular propuesta para la Máquina Analítica de Babbage que muestra un par clave-valor, en este caso un número y su logaritmo en base diez.

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 ]

Una tabla que muestra diferentes valores de datos formateados asociados con diferentes claves.

Las bases de datos clave-valor se diferencian de las bases de datos relacionales (RDB), más conocidas. Las RDB predefinen la estructura de datos como una serie de tablas que contienen campos con tipos de datos bien definidos . Al exponer los tipos de datos al programa de base de datos, este puede aplicar diversas 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 sencillas como almacenar, recuperar, actualizar y eliminar un valor mediante su clave. Esto ofrece una flexibilidad considerable y hace que estos sistemas sean idóneos para cargas de trabajo de baja latencia y alto rendimiento dominadas por búsquedas directas por clave, pero menos adecuados para aplicaciones que requieren consultas complejas o relaciones explícitas entre registros. [ 3 ] [ 4 ]

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 , [ 5 ] 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 ] [ 3 ]

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. [ 3 ] [ 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. [ 6 ]

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 . [ 7 ]

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. [ 8 ] 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. 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 . 
  2. 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 . 
  3. 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 .
  4. 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 .
  5. "Motores de almacenamiento" . ArangoDB . Consultado el 16 de noviembre de 2020 .
  6. Base de datos NoSQL de Oracle .
  7. 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 . 
  8. 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 .