Tipo de base de datos que no sigue el modelo relacional tradicional.
Útil para manejar grandes volúmenes de datos no estructurados o semi-estructurados. Ejemplos: MongoDB, Redis, DynamoDB.
// MongoDB - Base de datos de documentos // Documento JSON flexible (sin esquema fijo) { "_id": "user123", "nombre": "Juan", "email": "juan@mail.com", "direcciones": [ { "ciudad": "Madrid", "cp": "28001" }, { "ciudad": "Barcelona", "cp": "08001" } ], "preferencias": { "tema": "oscuro", "idioma": "es" } } // Operaciones MongoDB // Insertar await db.collection('usuarios').insertOne({ nombre: 'Ana' }); // Buscar const usuario = await db.collection('usuarios').findOne({ email: 'ana@mail.com' }); // Actualizar await db.collection('usuarios').updateOne( { _id: 'user123' }, { $set: { nombre: 'Juan Actualizado' } } ); // Redis - Key-Value store (caché) await redis.set('session:abc', JSON.stringify(userData)); await redis.get('session:abc'); await redis.expire('session:abc', 3600); // TTL 1 hora // Cuándo usar NoSQL: // - Datos semi-estructurados // - Escalabilidad horizontal // - Alta velocidad de escritura/lectura