Saltar al contenido
Explorar conocimiento

concepto · intermedio · 2 min de lectura

Base de Datos Key-Value

Una base de datos key-value almacena datos como pares clave-valor, ofreciendo acceso por clave con latencia mínima, ideal para caching, sesiones y configuraciones.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • Base de Datos Key-Value as a concept

No cubre

  • implementation details

Supone

  • The reader understands relevant fundamentals.

Resumen

Las bases de datos key-value —Redis, DynamoDB, etcd— son el modelo más simple de NoSQL: cada registro es una clave única y un valor opaco. No hay consultas sobre el contenido del valor —para la base de datos, el valor es un blob—. La operación fundamental es get(key) y set(key, value).

Esta simplicidad permite latencias sub-milisegundo y throughput masivo. Redis, la más popular, opera enteramente en memoria. DynamoDB escala horizontalmente particionando claves entre shards.

Alcance y supuestos

Cubre el modelo key-value, sus variantes y casos de uso. Asume familiaridad con bases de datos.

Modelo mental

Un guardarropa con casilleros numerados en un club. Cada casillero tiene un número —la clave— y adentro puede haber cualquier cosa —el valor—. Para guardar o recuperar algo, necesitás el número. No podés preguntar «¿en qué casillero está mi campera azul?» —no hay búsqueda por contenido—.

Uso práctico

  • ✅ Caché, sesiones de usuario, rate limiting, configuraciones.
  • ❌ Búsquedas complejas: necesitás conocer la clave exacta.

Ejemplo trabajado: rate limiting con Redis

key = f"rate:{user_id}"
current = redis.incr(key)
if current == 1:
    redis.expire(key, 60)  # ventana de 60 segundos
if current > 100:
    raise RateLimitExceeded

Evidencia

  • Redis y DynamoDB dominan el espacio key-value. Redis ofrece estructuras de datos adicionales —listas, sets, hashes— que lo acercan a una base de datos multi-modelo.

Fuentes citadas