🧠 Bases de Datos NoSQL: Qué son, Tipos, Ventajas y Desventajas
📌 ¿Qué es NoSQL?
NoSQL (Not Only SQL) es un modelo de bases de datos no relacional que surgió para solventar las limitaciones de las bases de datos relacionales (SQL), especialmente en sistemas distribuidos, de alto volumen y baja latencia.
📅 El término fue usado por primera vez en 1998 por Carlo Strozzi, pero popularizado en 2009 por Eric Evans (Rackspace) para describir bases de datos no relacionales, altamente escalables y distribuidas, que no siguen el modelo tradicional ACID.
🧱 Características Clave
- ❌ No utilizan SQL (aunque algunos motores lo permiten).
- 🔁 No siguen un esquema fijo: la estructura puede variar de un documento a otro.
- 🚫 No permiten operaciones JOIN complejas.
- 🌍 Usan arquitectura distribuida: alta disponibilidad y escalabilidad horizontal.
- 🔄 Priorizan el modelo BASE (Basically Available, Soft-state, Eventually consistent) en lugar de ACID.
✅ Ventajas
- 💻 Bajo consumo de recursos.
- ⚡ Alta velocidad de acceso.
- 📈 Escalabilidad horizontal (añadir nodos fácilmente).
- 🗃️ Manejo eficiente de grandes volúmenes de datos (big data).
- 🎯 Diseño simple y flexible.
❌ Desventajas
- ❗ Falta de estandarización.
- 🧩 Esquema de datos inconsistente.
- 🧠 Curva de aprendizaje compleja.
- 🔐 Seguridad menos madura.
- ⚠️ No es ideal para transacciones ACID (bancos, contabilidad).
- 🚫 Las operaciones JOIN son difíciles o imposibles.
📊 Tipos de bases de datos NoSQL
1. 🧩 Clave-Valor
- Almacenan pares clave-valor.
- Ejemplos:
Redis,Riak,BerkeleyDB,Oracle NoSQL.
2. 📄 Documentales
- Cada registro es un documento (JSON, BSON, XML).
- Ejemplos:
MongoDB,CouchDB,MarkLogic.
3. 📊 Columnares
- Datos almacenados por columnas.
- Ejemplos:
Cassandra,HBase,Amazon SimpleDB,BigTable.
4. 🕸️ Grafos
- Modelan relaciones complejas entre entidades.
- Ejemplos:
Neo4j,OrientDB,InfoGrid.
5. 🎲 Orientadas a Objetos
- Modelan los datos como objetos del mundo real.
- Ejemplos:
Zope,Gemstone,db4o.
6. 🧬 Multimodelo
- Soportan múltiples modelos (documento + grafos + clave-valor).
- Ejemplos:
ArangoDB,OrientDB.
📐 Teorema CAP
El teorema de Brewer afirma que no se pueden garantizar simultáneamente las siguientes tres propiedades en un sistema distribuido:
| Propiedad | Significado |
|---|---|
| 📚 Consistencia (C) | Todos los nodos ven los mismos datos. |
| 🚀 Disponibilidad (A) | El sistema responde a las peticiones. |
| 🌐 Tolerancia a particiones (P) | Sigue funcionando aunque haya fallos en la red. |
🔺 Solo puedes elegir dos:
- CA: RDBMS tradicionales (ej. Oracle, MySQL).
- CP: MongoDB, HBase, Redis.
- AP: CouchDB, Cassandra, Riak.
⚙️ Tecnologías y puertos
| Base de Datos | Puertos |
|---|---|
| MongoDB | 27017, 27018, 27019, 28017 |
| Cassandra | 7000, 7001, 9042 |
| CouchDB | 5984 |
| Redis | 6379 |
| Neo4j | 7473, 7474 |
| Riak | 8087, 8098 |
| ArangoDB | 8529 |
| Elasticsearch | 9200, 9300 |
🛠️ Lenguajes y APIs
| Lenguaje/API | Uso |
|---|---|
| Cypher | Consultas en grafos (Neo4j) |
| SPARQL | Consultas semánticas |
| Gremlin | Navegación de grafos |
| CQL | Cassandra Query Language |
| JavaScript | Usado en MongoDB |
| Java / Scala / XQuery | Amplio soporte |
🧪 MongoDB y MapReduce
- MongoDB (2009): escrito en C++, C, y JavaScript. Usa BSON.
- MapReduce: técnica de procesamiento paralelo para grandes volúmenes de datos.
- Inspiración: Google File System (GFS).
📌 Conclusión
Las bases de datos NoSQL han transformado el manejo de grandes volúmenes de datos no estructurados, especialmente en la era del Big Data y la computación distribuida. No son un reemplazo de SQL, sino una alternativa complementaria para casos específicos.


Replica a Píldoras TAI de Anacrolibrum – Anacrolibrum Cancelar la respuesta