Píldora TAI CXIV; Todo sobre Bases de Datos NoSQL: Tipos y Ventajas

🧠 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:

PropiedadSignificado
📚 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 DatosPuertos
MongoDB27017, 27018, 27019, 28017
Cassandra7000, 7001, 9042
CouchDB5984
Redis6379
Neo4j7473, 7474
Riak8087, 8098
ArangoDB8529
Elasticsearch9200, 9300

🛠️ Lenguajes y APIs

Lenguaje/APIUso
CypherConsultas en grafos (Neo4j)
SPARQLConsultas semánticas
GremlinNavegación de grafos
CQLCassandra Query Language
JavaScriptUsado en MongoDB
Java / Scala / XQueryAmplio 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.

Respuesta

  1. […] Píldora TAI CXIV; Todo sobre Bases de Datos NoSQL: Tipos y Ventajas – Anacrolibrum […]

    Me gusta

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