¿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

  1. 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.

  1. 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”.

  1. 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.

  1. 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.

  1. 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.

  1. Integrable

Cassandra permite integración con otras soluciones de Big Data, como Hodoop, permitiendo su uso en clusters de análisis de datos.

  1. 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.