NoSQL
NoSQL es el término paraguas para las bases de datos no relacionales, que incluyen los modelos de documentos, clave-valor, familias de columnas y grafos, diseñadas para escalabilidad y esquemas flexibles.
Propósito
Abordar las limitaciones de las bases relacionales ante grandes volúmenes de datos, esquemas flexibles y escalado horizontal.
Mecanismo
Cuatro tipos principales: documentos (MongoDB, documentos JSON), clave-valor (Redis, simple y rápido), familias de columnas (Cassandra, filas anchas y dispersas), grafos (Neo4j, denso en relaciones). Intercambia parte de ACID por la consistencia eventual BASE y el escalado horizontal. Sin esquema fijo (o con esquema flexible).
Casos de uso
- Escalado horizontal de datos masivos
- Esquemas flexibles y dinámicos
- Caché y almacenamiento de sesiones
- Grafos sociales y recomendaciones
Ejemplos
- entrada
db.users.insert({name:"Ada",tags:[...]})OutputNo fixed schemaDocument store
Errores comunes
- Assuming NoSQL needs no data modeling
- Document structure and indexes still need design
Términos relacionados
SQL
SQL (Structured Query Language) es el lenguaje de consulta estándar de las bases de datos relacionales, que define y manipula datos de forma declarativa (DDL/DML/DQL/DCL). GLOSARIO
ACID
ACID son las cuatro propiedades de las transacciones relacionales: atomicidad (todo o nada), consistencia (se mantienen las restricciones), aislamiento (concurrencia sin interferencia), durabilidad (persistencia tras commit). GLOSARIO
BASE
BASE es el modelo NoSQL de consistencia débil: básicamente disponible, estado blando, eventualmente consistente; intercambia la consistencia fuerte por disponibilidad y escalabilidad. GLOSARIO
CAP Theorem
El teorema CAP establece que ante una partición de red un sistema distribuido solo puede satisfacer una de entre consistencia (C) o disponibilidad (A); las tres no pueden mantenerse a la vez. GLOSARIO