BigData
BigData & Cassandra (II) - ¿Por qué elegir Cassandra?. Esquema de BBDD y Particionado y Replicado de datos
septiembre 30, 2013
Y llegó el turno del segundo Post de Cassandra.
- Una column family en Cassandra es una idea similar a una Tabla en RBDMS.
- Una fila es una columna indexada por su key. Otras columnas pueden pertenecer también al índice
![]() |
Ojazo. |
Este Posts pertenece a la serie de BigData & Cassandra y a continuación tenéis el índice de Posts:
Seguimos con el plan para dominar Cassandra. Si tenéis dudas, abajo tenéis un hermoso bloque de comentarios. Aviso que este Post es muy teórico, pero es necesario para ir adquiriendo una buena base.
Esquema de BBDD
![]() |
El dibujín típico de BBDD |
El esquema usado en Cassandra es un reflejo de Google BigTable. Está orientado a filas y se estructura en columnas. Para hacernos a la idea del esquema que utiliza Cassandra, vamos a ver las siguientes definiciones:
- Un KeySpace en Cassandra es una idea similar a una Base de Datos en una RBDMS.
- Una column family en Cassandra es una idea similar a una Tabla en RBDMS.
- Una fila es una columna indexada por su key. Otras columnas pueden pertenecer también al índice
¿Por qué elegir Cassandra?
![]() |
I´m thinking about you and your bananas. |
La pregunta del millón, y por la que muchos foros están onfire actualmente. Básicamente se puede utilizar Cassandra cuando nuestro problema requiera utilizar una base de datos escalable, con un grado de escalabilidad lineal. Escalabilidad lineal quiere decir que si añadimos un nuevo nodo al anillo, este verá incrementado su músculo procesil en un nodo más literalmente.
También tenemos que tener en cuenta que Cassandra posee las siguientes características:
- Los datos son fácilmente replicables/distribuibles.
- La consistencia de datos es personalizable.
- Diseño del esquema es flexible.
- Admite comprensión de datos.
- El Lenguaje es tipo SQL, (aunque no os voy a mentir, es bastante simple y limitado).
-Esquema Flexible: admite diseño de esquema dinámico y permite tratar con datos estructurados, semi-estructurados y no estructurados.
Particionado de Datos
![]() |
Pincha para ver los tipos de particiones en grande. |
Cassandra es un sistema de administración de base de datos distribuido que participan los datos a lo largo de los nodos del cluster. Cada nodo se responsabiliza de una parte del total.
Existen dos tipo de particionado:
- Aleatorio: es la estrategia recomendada y por defecto. Se particionan los datos de manera aleatoria a través de los nodos.
- Ordenado: permite particionar de manera ordenada los nodos.
Replicación
![]() |
Al atarquer! |
Existen dos tipos de estrategias de replicación:
- Simple: se replica en el nodo vecino.
- Según el tipo de Network: se replica en diferentes nodos de diferentes racks (existe una claúsua Group que permite personalizar esta estrategia, pero es ya es para Pro´s).
Y hasta aquí los conceptos teóricos. En el siguiente capítulo veremos como Instalar una distribución de Cassandra. Es muy fácil pero si alguien te ayuda en el camino, mejor que mejor :)
Nos vemos!
Fuente: datastax & Curso BigData en Udemy