¿Qué es Apache Cassandra?
Apache Cassandra es un sistema de código abierto proyectado para administrar gran volumen de datos en tiempo real, permitiendo respuesta inmediata y soporte a puntos de falla.
Lanzado por Facebook, y con contribuciones recibidas por Google, Apache Cassandra es un sistema de código abierto proyectado para administrar gran volumen de datos en tiempo real, permitiendo repuestas inmediatas y soporte antes fallas. En otras palabras, funciona como un banco de datos distribuidos y es una de las opciones actuales para soluciones NoSQL (no solamente SQL) o para datos no relacionales.
En cuanto al almacenamiento de datos, Cassandra es esencialmente un híbrido entre valor-llave (dato tabular) y banco de datos creados en columnas, con distribución de contenido por nombre, valor y tiempo, pudiendo tener buen balance y distribución de carga.
Características de Apache Cassandra
-
Arquitectura de cluster descentralizado
Apache Cassandra reparte la información entre los clusters, con cada tipo de dato distribuido en diferentes nodos, cada uno con su papel/función, pero sin jerarquía entre ellos, lo que permite que cada nodo pueda atender separadamente cualquier pedido del sistema.
-
Replica y redundancia de datos
Cassandra es capaz de tratar y reconocer datos replicados e, incluso cuando un nodo falla, logra ejecutar la acción por redundancia de datos, agarrando las informaciones de otro nodo, evitando errores al recuperar los datos “perdidos”.
-
Escalable
Nuevos nodos pueden ser agregados al cluster en cualquier momento, permitiendo el aumento de la capacidad de almacenamiento y procesamiento de acuerdo con lo deseado, sin caída o interrupción del servicio.
-
Tolerable a fallas
Por replicar el mismo dato en diferentes nodos, cuando un nodo falla, otro puede ofrecer la información, sin presentar interrupciones o tiempo de inactividad.
-
Nivel de consistencia configurable
Al mismo tiempo que ofrece soporte de fallas y pérdida de información a través de las informaciones replicadas, permite que el nivel de consistencia deseado de una determinada operación sea configurado, eliminando errores por medio de reglas de acceso.
-
Integrable
Cassandra permite integración con otras soluciones de Big Data, como Hodoop, permitiendo su uso en clusters de análisis de datos.
-
API para uso en aplicaciones
Cassandra posee el CQL (Cassandra Query Language) y posee drivers que implementan la API de acceso a los datos del cluster. Actualmente, existen varias implementaciones del driver para aplicaciones escritas en Java, Python, C++, C#, entre otras.