Con el paso del tiempo la cantidad de datos a almacenar son demasiado grandes y los sistemas de bases de datos tradicionales se han visto desbordados. Es por ello que se han creado aplicaciones de Big Data que permitan una fácil escalabilidad, ya que hoy en día es imposible estimar desde un principio el volumen de datos que vamos a almacenar. Una de estas aplicaciones es Cassandra, la cual es de código abierto y fue desarrollada por Apache.
¿Qué es Apache Cassandra?
Es un sistema de gestión de bases de datos (DBMS) creada para bases de datos muy grandes y estructuradas. Pertenece a las bases de datos NoSql (Not only SQL) y cuenta con un lenguaje de consulta propio, Cassandra Query Language(CQL). Un lenguaje muy similar al SQL pero hecho a medida para cubrir las características especiales de este sistema de gestión de bases de datos.
Características
Cassandra cuenta con un sistema de replicación para garantizar la baja probabilidad de fallo y el restablecimiento de los datos en caso de emergencia. Al estar los datos replicados en diferentes nodos la tolerancia de error es menor y el sistema se encuentra disponible para consultas en todo momento.
La escalabilidad es horizontal, lo que significa que no sigue un patrón maestro-esclavo. Esto quiere decir que si se cae un nodo, el servicio sigue funcionando sin ningún problema con el resto de nodos, no como en el patrón maestro-esclavo, en el que si se cae el maestro se cae el sistema también.
A su vez, la escalabilidad es lineal. Esto quiere decir que si contamos con dos nodos podremos realizar 100.000 operaciones por segundo pero, si tuviéramos cuatro nodos, el número de operaciones a poder realizar sería el doble. Por lo que cada vez que dupliquemos el número de nodos también duplicaremos el número de operaciones por segundo.
Permite la replicación en varios data center.