Última actualización: 24/7/2026
Apache Cassandra es una base de datos NoSQL distribuida y de código abierto diseñada para manejar grandes volúmenes de datos en varios servidores. Su arquitectura descentralizada elimina los puntos únicos de fallo, lo que la convierte en una opción confiable para cargas de trabajo de alta disponibilidad y con mucha escritura que deben permanecer en línea independientemente de las interrupciones de los nodos o los centros de datos.
Los ingenieros de Facebook (ahora Meta), Avinash Lakshman y Prashant Malik, crearon Cassandra para potenciar la búsqueda en la bandeja de entrada de Facebook. Necesitaban un sistema que pudiera almacenar y buscar conjuntos de datos masivos en muchos servidores sin ralentizarse.
Para crearlo, el equipo se inspiró en otros dos modelos de bases de datos establecidos: combinó el modelo de almacenamiento de columnas anchas del documento de Bigtable de Google de 2006 con la arquitectura de anillo distribuido de Dynamo de Amazon. Llamaron al proyecto como la profetisa troyana mitológica, un guiño a la “maldición” de hacer predicciones que otros no creían.
El proyecto evolucionó rápidamente a medida que su potencial se hizo evidente para la comunidad de ingeniería en general:
Debido a su legado, muchas empresas confían en él para potenciar sus sistemas. Si bien Cassandra sigue siendo una opción comprobada para sistemas de alta disponibilidad, evaluar sus compensaciones de diseño ayuda a los equipos a decidir si la autoadministración de una arquitectura heredada se ajusta a las necesidades de las aplicaciones modernas.
Cassandra se suele usar para trabajos que implican un flujo constante de datos, como información de sensores inteligentes (IoT), registro de aplicaciones y canalizaciones de supervisión. También se usa ampliamente para el seguimiento de eventos y los sistemas de recomendación, donde guardar y consultar datos rápidamente a gran escala es fundamental.
Los sistemas que no pueden permitirse el tiempo de inactividad usan Cassandra porque su replicación en varios centros de datos y las escrituras asíncronas permiten que un centro de datos completo se desconecte sin interrumpir el servicio ni perder datos. Muchas empresas globales confían en esto para mantener sus apps en funcionamiento las 24 horas, todos los días, en diferentes regiones.
Cassandra usa un diseño de igual a igual en el que todos los nodos son idénticos. Estos nodos se configuran en un anillo descentralizado y usan un método llamado hash coherente para distribuir los datos de manera uniforme, evitar cuellos de botella y garantizar que no haya puntos únicos de falla. También puedes elegir qué tan estricta es la base de datos cuando verifica si una lectura o escritura se realizó correctamente, lo que te permite decidir entre la velocidad y tener los datos más actualizados según las necesidades específicas de tu aplicación.
La base de datos usa un modelo llamado almacén de columnas anchas, que ayuda a organizar tus datos en espacios de claves, filas y columnas dinámicas, similar a una hoja de cálculo normal, pero con más flexibilidad. Esto te permite diseñar tus datos de una manera que sea fácil de cambiar a medida que tu app crece.
Función | Apache Cassandra | RDBMS tradicional |
Modelo de datos | Desnormalizado | Normalizado |
Flexibilidad de esquemas | Se puede cambiar mientras se ejecuta | Requiere tiempo de inactividad |
Estructura del índice | Árbol de combinación estructurado en registros | Árbol B |
Optimización de escritura | Principal | Secundario |
Posicionamiento de CAP (coherencia, disponibilidad y tolerancia a la partición) | AP (disponible y tolerante a particiones) | CA (coherente y disponible) |
Capacidad de búsqueda | CQL (sin JOIN) | SQL completo con JOIN |
Modelo de datos
Desnormalizado
Normalizado
Flexibilidad de esquemas
Se puede cambiar mientras se ejecuta
Requiere tiempo de inactividad
Estructura del índice
Árbol de combinación estructurado en registros
Árbol B
Optimización de escritura
Principal
Secundario
Posicionamiento de CAP (coherencia, disponibilidad y tolerancia a la partición)
AP (disponible y tolerante a particiones)
CA (coherente y disponible)
Capacidad de búsqueda
CQL (sin JOIN)
SQL completo con JOIN
El motor de almacenamiento de Cassandra se basa en un árbol de fusión estructurado por registros (LSM) para manejar los datos. Las escrituras entrantes se escriben en un registro de confirmación para la durabilidad y se mantienen en la memoria a través de una Memtable. Cuando se llenan, las Memtables se vacían en el disco como tablas de cadenas ordenadas (SSTables) inmutables.
Este diseño de solo agregado es la razón por la que Cassandra se destaca en la capacidad de procesamiento con muchas operaciones de escritura. El sistema puede procesar los datos entrantes mucho más rápido que los sistemas tradicionales que dependen de operaciones aleatorias de E/S en disco cuando evita las actualizaciones in situ.
Estas son las respuestas a algunas preguntas frecuentes sobre Cassandra.
Es una base de datos distribuida que se usa para apps que deben permanecer en línea en todo momento y manejar muchas escrituras de datos, como registros de transmisión o datos de sensores.
Cassandra es una base de datos NoSQL. Usa un lenguaje llamado CQL que se parece a SQL, pero no admite todas sus funciones, como uniones complejas o seguridad de transacciones profunda.
Kafka sirve para mover datos en tiempo real, mientras que Cassandra sirve para almacenarlos de forma segura. Por lo general, se usan juntos en un sistema.
Cassandra es ideal para escribir muchos datos a gran escala. MongoDB es una base de datos de documentos que suele ser mejor si necesitas buscar en diferentes tipos de datos con estructuras flexibles.
Cassandra está diseñada para el procesamiento de transacciones en línea (OLTP), es decir, es eficaz para gestionar lecturas y escrituras simples y de alta velocidad. No está diseñado para tareas analíticas complejas, como ejecutar informes grandes o analizar todos tus datos a la vez.
Escalabilidad
Puedes agregar más nodos para controlar más trabajo, y no tienes que apagar el sistema para hacerlo.
Sin punto único de fallo
Como todos los nodos son iguales, el sistema es muy estable.
Copia automática de datos
El sistema guarda automáticamente tus datos en varios lugares.
Escrituras rápidas
El diseño de almacenamiento se creó para manejar una gran cantidad de escrituras a la vez.
Coherencia ajustable
Puedes controlar el nivel de exigencia de tus datos según cada consulta. Elige “Todos” los nodos para obtener una exactitud perfecta o “Un” nodo para obtener la mayor velocidad posible.
Sin dependencia de un proveedor
Como se ejecuta en hardware estándar, no estás limitado a proveedores de servicios en la nube específicos. Puedes mover tus datos entre opciones de configuración locales y diferentes nubes si es necesario.
Ejecutar tu propio sistema Cassandra requiere mucha sobrecarga. Debes planificar cuánto espacio necesitas, configurar los servidores, encargarte de las reparaciones, asegurarte de tener copias de seguridad y realizar actualizaciones mientras el sistema está en ejecución.
Los servicios administrados cambian esto, ya que se encargan del trabajo pesado por ti.
Cuando trasladas estas tareas operativas a una plataforma administrada, tu equipo puede dejar de preocuparse por la infraestructura interna de la base de datos y centrarse en aportar valor a tus usuarios.
Cuando decidas cómo ejecutar tus cargas de trabajo de Cassandra, tienes tres rutas principales.
Elegir la ruta correcta depende de equilibrar la experiencia de tu equipo con tus necesidades empresariales específicas. Usa esta lista de tareas para guiar tu proceso de toma de decisiones:
Pregunta | Si la respuesta es sí… | Si la respuesta es no… |
¿Tenemos tiempo para corregir y ajustar la base de datos? | Puedes manejar clústeres autoadministrados si cuentas con ingenieros dedicados a la “infraestructura interna de la base de datos”. | Elige un servicio administrado para evitar que los ingenieros pierdan tiempo en el mantenimiento de la infraestructura. |
¿Es más importante “permanecer en línea” que la coherencia perfecta? | El modelo AP de Cassandra es ideal para apps de alta disponibilidad. | Considera Cloud Spanner, que ofrece el escalamiento de un sistema distribuido con una estricta seguridad de los datos. |
¿Necesitamos escalar verticalmente con rapidez a medida que crecemos? | Usa servicios administrados o Bigtable, que ofrecen escalado automático para controlar los aumentos repentinos de tráfico. | Un clúster estático podría funcionar, pero corres el riesgo de que se produzcan cuellos de botella en el rendimiento durante los períodos de mayor actividad. |
¿Un servicio administrado haría que nuestro trabajo sea más confiable? | Definitivamente, los servicios administrados automatizan las copias de seguridad y la aplicación de parches para evitar errores humanos. | Aceptas el mayor riesgo de mantenimiento manual y posibles errores de configuración. |
¿Buscamos la portabilidad de la infraestructura? | La opción autoadministrada te da la mayor libertad para moverte entre nubes o ejecutar en las instalaciones locales. | Te sientes cómodo con los beneficios específicos de la nube a cambio de un menor esfuerzo operativo. |
Pregunta
Si la respuesta es sí…
Si la respuesta es no…
¿Tenemos tiempo para corregir y ajustar la base de datos?
Puedes manejar clústeres autoadministrados si cuentas con ingenieros dedicados a la “infraestructura interna de la base de datos”.
Elige un servicio administrado para evitar que los ingenieros pierdan tiempo en el mantenimiento de la infraestructura.
¿Es más importante “permanecer en línea” que la coherencia perfecta?
El modelo AP de Cassandra es ideal para apps de alta disponibilidad.
Considera Cloud Spanner, que ofrece el escalamiento de un sistema distribuido con una estricta seguridad de los datos.
¿Necesitamos escalar verticalmente con rapidez a medida que crecemos?
Usa servicios administrados o Bigtable, que ofrecen escalado automático para controlar los aumentos repentinos de tráfico.
Un clúster estático podría funcionar, pero corres el riesgo de que se produzcan cuellos de botella en el rendimiento durante los períodos de mayor actividad.
¿Un servicio administrado haría que nuestro trabajo sea más confiable?
Definitivamente, los servicios administrados automatizan las copias de seguridad y la aplicación de parches para evitar errores humanos.
Aceptas el mayor riesgo de mantenimiento manual y posibles errores de configuración.
¿Buscamos la portabilidad de la infraestructura?
La opción autoadministrada te da la mayor libertad para moverte entre nubes o ejecutar en las instalaciones locales.
Te sientes cómodo con los beneficios específicos de la nube a cambio de un menor esfuerzo operativo.
Si quieres dejar de administrar Cassandra por tu cuenta, Google Cloud ofrece dos soluciones útiles: Bigtable y Spanner.
Si ya usas Cassandra por su almacenamiento de columnas anchas y su alta capacidad de procesamiento de escritura, Bigtable puede ser una excelente opción. Para usarlo, puedes asignar tus espacios de claves y tablas de Cassandra existentes a tablas de Bigtable y, luego, actualizar el código de la aplicación para usar las bibliotecas cliente de Cloud Bigtable. Como está completamente administrado, Bigtable controla automáticamente la fragmentación y el balanceo de cargas que antes tenías que ajustar de forma manual en Cassandra.
Si tu carga de trabajo de Cassandra creció hasta el punto en que necesitas una coherencia más sólida o te encuentras necesitando funciones relacionales de SQL, Spanner también puede ser una buena opción. Para usarlo, debes definir tu esquema con SQL estándar, lo que puede requerir que normalices algunos de tus datos desnormalizados de Cassandra. Ofrece el mismo escalamiento horizontal que Cassandra, pero agrega el beneficio de una coherencia global sólida y compatibilidad completa con SQL relacional.
Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.