Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Alejandro Meza
Juan Hernández
German Caycedo
¿Que es cassandra?
Arquitectura descentralizada
Escalabilidad
Tolerancia a Fallos
Alta Consistencia
Soporta replicación y replicación de múltiples centros de datos
Alta disponibilidad
Diagrama CAP
Modelo de datos
Es un tipo especial de
Columna, Una columna
regular puede
almacenar un arreglo
de bytes, y el valor de
una super columna es
un conjunto de
subcolumnas, es decir
columnas regulares.
instalación
Requisitos necesarios:
Tener instalado alguna versión de Microsoft
Visual c++ (recomendada la última versión)
Windows 7/8/10
Tener instalado Python 2, versiones mayores a
2.7.9 pero menores a 3.0.0
Descargas
máquina virtual de Java.
apache Cassandra,
preferentemente la última
versión (Apache Cassandra
3.11)
Python 2, versiones mayores
a 2.7.9 pero menores a
3.0.0 (en el caso de no
tenerlo instalado)
cliente Python thrif
Configuración variables de
entorno
Se Debe buscar la dirección
donde se instalo el Python, la
maquina virtual, y cassandra
(en el caso de cassandra la
dirección donde
descomprimió el .tar).
Ingresar en búsqueda de
Windows variables de
entorno → click en variables
de entorno → en el campo
de variables del sistema click
en nueva, y para cada una
crear una nueva variable.
Configuración Python
Ubíquese en la
dirección donde
descomprimió el .tar
del cliente Python thrif,
mediante el CMD, una
vez allí ejecute el
comando “Python
setup.py install”.
Ubíquese en la
dirección donde se
instalo Python
mediante el CMD y
ejecute el comando
“pip install Cython”,
para instalar la librería
de cython.
Configuración cassandra
Se procede a instalar la
terminal CQL de Cassandra,
para ello ingrese a la ruta
C:\ (ubicación carpeta de
cassandra)\pylib mediante
CMD y ejecute el comando
“python setup.py install”.
Por último se debe instalar
Cassandra driver, para ello
ubíquese en la carpeta
donde se instalo Python
mediante CMD y ejecute el
comando “pip install
Cassandra-driver”.
Ejecución y prueba
La ejecución correcta cada
vez que se vaya a usar
Cassandra seria de la siguiente
forma: abrir el archivo
cassandra.bat, abrir el terminal
CQL de cassandra (cqlsh.bat).
Para probar que todos los
drivers y paquetes se instalaron
exitosamente, cree un archivo
en python y escriba “from
cassandra.cluster import
Cluster”, compile el archivo
(F5), y si compila sin errores
cassandra se instalo
correctamente.
Creación de base de
datos en Cassandra
(ejemplo practico,
Twitter)
Estructura
Se procede a crear una keyspace que es el
contenedor de datos más externo en
Cassandra.
CREATE KEYSPACE twitter WITH REPLICATION = {
'class’ : 'SimpleStrategy’, 'replication_factor' : 1 };
class: ‘SimpleStrategy’ asigna el mismo
factor de replicación a todo el clúster, hay
un centro de datos único.
replication_factor: 1, especifica que se
trabajara con un solo nodo.
Para visualizar las keyspaces creadas se
usa el comando “describe KEYSPACES”
Para usar un keyspace se usa el comando
“USE nombre_keyspace”
Creación de tablas
una vez creado el keyspace, se procede crear las tablas necesarias para que
la aplicación de twitter funcione:
Create columnfamily usuarios (id int primary key, ciudad text, nombre text, perfil
text);
Create columnfamily seguidores (id int, hora timestamp, seguidores text, primary
key (id, hora));
Create columnfamily mensajes_direct (id int, hora timestamp, ciudad text,
id_destinos list<text>, mensajes text, primary key (id, hora));
Create columnfamily mensajes_publi (id int, hora timestamp, mensajes text, primary
key (id,hora));
Python
Ahora se utilizará Python para
agregar y consultar registros,
Como primer paso y muy
importante es necesario
importar las librerías para
poder comunicar Python y
Cassandra sin problemas.
Ingresar ():
Esta función
fue realizada
para recrear
la parte de
autenticació
n del usuario
CrearUsuario():
El objetivo principal
de esta función es
agregar registros de
nuevas personas
que quieren usar la
aplicación, pero
aún no tienen una
cuenta.
Menu (Usuario):
Es el área principal y es
donde se implementó el
menú con las opciones en
las que cada usuario
podrá navegar durante el
uso de la aplicación.
EscribirPublico (Usuario):
Esta función permite al usuario publicar un tweet
en el que cualquier usuario de la red pueda ver.
Escribir_direct(usuario):
Esta función da la
posibilidad de mandar
tweets que van dirigidos a
una lista de usuarios
específicos.
Hora ():
Simplemente hace llamado a una función de la librería
datetime la cual retorna la fecha y hora actual.
Seguir (Usuario):
Para poder seguir a
alguien se deben tener en
cuenta dos casos: que la
persona tenga perfil
público en la cual no hay
ningún prerrequisito y que
la persona tenga perfil
privado esto quiere decir
que la persona puede
aceptar o rechazar tu
petición.
ImprimirSeguidores (Usuario):
Esta función imprime los
seguidores del usuario
ingresado por parámetro
Imprimir_Seguidos
(Usuario):
imprime los usuarios a los
que sigue la persona que
inicio sesión
Imprimir_publi(Usuario):
Lo que se buscó realizar con
esta función fue imprimir los
mensajes públicos de un usuario
en específico
Imprimir_direct (Usuario):
Acceder e imprimir el
historial de mensajes
dirigidos que el usuario a
realizado durante su vida
en la aplicación
Imprimir_ultimos5 (Usuario):
En esta función se
implementa como imprimir
los primeros cinco tweets
de cada persona que el
usuario sigue
referencias
https://rems2013.files.wordpress.com/2013/10/manual-de-instalacion-y-
configuracion-de-cassandra-sobre-windows.pdf
http://cassandra.apache.org/doc/latest/getting_started/index.html
https://sites.google.com/site/uegoman/modelo-de-datos-de-cassandra