BigData & Cassandra (I)

20:02

¡Un anillo para gobernarlos a todos!
Siguiendo con las series de BigData, vamos a iniciar un nuevo camino mientras se cierra el círculo de Hadoop. Veremos que es Cassandra, para que sirve, como se usa e instala y algunos ejemplos sencillos.

Los Posts los dividiremos así:

· ¿Qué es Cassandra? & Arquitectura
· ¿Por qué elegir Cassandra?. Esquema de BBDD y Particionado y Replicado de datos
· Instalación de Cassandra
· Configuración de Cassandra & Comandos adicionales
· SQL en Cassandra

Es posible que no os proporcione nada nuevo si pilotáis esta tecnología, pero si te estas iniciando creo que te valdrá la pena seguir esta serie de Posts.

¡Vamos allá!

¿Qué es Cassandra?

Cassandra es una base de datos distribuida, con la que podemos obtener un alto rendimiento en entrada/salida de datos y además es extremadamente escalable. Además está creada para ser tolerante a fallos, veremos que esto más tarde.

Se dice que Cassandra es una solución de bases de datos post-relacional. Digamos que Cassandra sirve como un datastore en tiempo real para aplicaciones online/transaccionales y como base de datos es muy buena para un alto número de lecturas/escrituras.

Es el producto de la unión de ideas de BigTable y de Dynamo, y se forjó finalmente como concepto en Facebook.

Arquitectura en Cassandra

La arquitectura de Cassandra está creada teniendo en cuenta que alguna parte del sistema puede fallar, es por ello que está construida como un sistema Peer To Peer.

Los datos son particionados a lo largo de todos los nodos del Clúster y permite que los datos sean replicados para asegurarnos la tolerancia a fallos.

Cada nodo se comunica con otro a través de Gossip, el cual es un protocolo que se dedica a intercambiar información entre los nodos del clúster a cada segundo. Se realizan Logs de los commits realizados en cada nodo cuando estos utilizan operaciones de escritura, por lo tanto la durabilidad de los datos está prácticamente asegurada, siempre que el sistema esté bien planteado.

Los datos son escritos de manera particular. En concreto, los datos son escritos también en tablas en memoria (memorables) y lo lleva a disco una vez la estructura está llena(a SSTables).

Aquí tenéis una vista previa de la arquitectura de Cassandra que utilizan en Netflix:
Ah!! y que no se me olvide, llamamos a anillo a conjunto de nodos conectados (de ahí el chiste). Puede haber lo que se llaman Seeds, que son los encargados de saber cuantos nodos hay y acompañar a la entrada de uno nuevo o saber si está uno caído.

Eso es todo por hoy, 

¡nos vemos en la siguiente!.

You Might Also Like

0 comentarios

Sé respetuoso/a, en este blog caben todo tipo de opiniones con respeto y serenidad.

statistics :: ヽ(*・ω・)ノ

Contact Form :: (」゜ロ゜)」