🎯 Objetivo:
Entender qué es Apache Cassandra, para qué se usa y qué lo hace diferente dentro del mundo NoSQL.
🔎 ¿Qué es Apache Cassandra?
Apache Cassandra es una base de datos NoSQL distribuida y altamente escalable, diseñada para manejar grandes volúmenes de datos en múltiples servidores, sin caídas y con altísima velocidad.
Fue creada por Facebook y luego liberada como proyecto open source en Apache.
🚀 ¿Para qué sirve Cassandra?
Cassandra es ideal para:
-
Aplicaciones que necesitan alta disponibilidad (no se puede caer).
-
Almacenar millones o billones de registros.
-
Entornos donde se reciben datos continuamente (ej. IoT, redes sociales, logs).
-
Sistemas distribuidos geográficamente.
🧠 ¿Qué lo diferencia de otras bases?
| Característica | Cassandra |
|---|---|
| 🧱 Modelo de datos | Tipo tabla, pero sin relaciones (NoSQL). |
| 🌍 Escalabilidad | Horizontal: puedes agregar más servidores sin detener el sistema. |
| ⚡ Velocidad | Muy rápida en escritura, ideal para grandes volúmenes de datos. |
| ⛓️ Sin punto único de falla | Si cae un nodo, los demás siguen funcionando. |
| 🔁 Replicación automática | Los datos se replican automáticamente en varios nodos. |
📦 Ejemplos de uso reales
| Caso | Cómo ayuda Cassandra |
|---|---|
| Almacenar likes, comentarios y actividad masiva. | |
| Netflix | Guardar logs de actividad y recomendaciones al vuelo. |
| Uber | Manejar millones de eventos geográficos en tiempo real. |
| Bancos | Detección de fraudes y monitoreo continuo. |
🧰 ¿Cómo se ve una tabla en Cassandra?
Aunque es NoSQL, Cassandra usa un modelo similar a tablas, pero:
-
No hay claves foráneas ni joins.
-
Tiene claves de partición y claves de ordenamiento para distribuir los datos.
Ejemplo:
👉 Se usa CQL (Cassandra Query Language), muy similar a SQL pero sin relaciones.
🎯 Ventajas principales
✅ Alta disponibilidad
✅ Rendimiento lineal (más nodos = más rendimiento)
✅ Preparada para grandes cantidades de datos
✅ Sin necesidad de detener el servicio para escalar
✅ Ideal para sistemas distribuidos globalmente
⚠️ ¿Y sus limitaciones?
❌ No es ideal para sistemas que necesitan integridad relacional fuerte (como un banco).
❌ No permite JOINs ni relaciones complejas.
❌ Puede ser compleja de configurar y mantener.
📝 Actividad práctica
-
Piensa en una aplicación móvil con miles de usuarios activos por minuto (como TikTok).
¿Por qué Cassandra sería una buena base para manejar sus datos? -
Escribe al menos 2 diferencias entre Cassandra y MongoDB.
✅ Revisión rápida
-
¿Qué tipo de escalabilidad ofrece Cassandra?
-
¿Qué pasa si un nodo de Cassandra falla?
-
¿Qué lenguaje de consulta se usa en Cassandra?