Cassandra Instalacion y Utilizacion

Post on 18-Aug-2015

25 views 3 download

Transcript of Cassandra Instalacion y Utilizacion

APACHE CASSANDRALeandro Carrera - 3º Bachillerato de Aplicaciones Informáticas

¿Qué es Cassandra?

Apache Cassandra es una base de datos NoSQL distribuida y basada en un modelo de almacenamiento de «clave-valor», escrita en Java. Permite grandes volúmenes de datos en forma distribuida. Por ejemplo, lo usa Twitter para su plataforma. Su objetivo principal es la escalabilidad lineal y la disponibilidad. La arquitectura distribuida de Cassandra está basada en una serie de nodos iguales que se comunican con un protocolo P2P con lo que la redundancia es máxima.

Por qué elegir Cassandra como medio NoSQL ?

Lotes de Datos.-Se refiere a que por ejemplo se puede enviar mensajes y recibir o viceversa pero solo datos de usuario.

De varios requerimientos resultando lotes de datos aleatorios que pueden ser de lectura – escritura.

No existe producción de soluciones listas en un mercado de requerimientos que se solicita.

Evita los contratiempos eliminando las relaciones entre tablas de datos creadas por el usuario.

CARACTERÍSTICAS SQL Y NoSQL SQL permite combinar de forma eficiente diferentes

tablas para extraer información relacionada (ej. aquellos Empleados cuya Empresa tenga más de x Pedidos), mientras que NoSQL no lo permite o de forma MUY limitada.

NoSQL permite fácilmente distribuir grandes cantidades de información, mientras que distribuir bases de datos relacionales (SQL) requiere una cuidadosa planificación (ej. segregar el subsistema de consultas de la parte transaccional de negocio).

SQL permite gestionar los datos junto con las relaciones existentes entre ellos (ej. es común implementar ciertas reglas de negocio mediante herramientas de SQL como restricciones, triggers, claves ajenas, etc...), en NoSQL no suele (no puede) haber este tipo de utilidades.

NoSQL permite un escalado horizontal (por la propia capacidad de distribución) sin problemas, mientras que escalar SQL (sino tiene un diseño distribuido) es muy complicado (o imposible), escalar SQL suele implicar comprar un servidor más potente.

Ventajas de usar Cassandra

Gran viabilidad

Es constantemente consistente

Tiene escalabilidad incremental

Contiene replicaciones optimizadas

KNOBS -> puede comparar entre consistencia y durabilidad

Bajo costo de realización

Consta de administración mínima ya que se puede realizar independiente de relaciones.

MODELOS DE DATOS DE CASSANDRA

PROPIEDADES DE OPERACIÓN

El cliente Web que se pretende usar, tiene como requerimiento que todo tipo de orden o comando sea escrito desde la consola.

El “PARTITIONER” determina los nodos responsables de los datos que se manejen.

Localiidad -> se refiere a que los cambios que se realices solo se hacen si el usuario esta logeado y los cambios se guardan como memoria versión dando pequeños recursos de modificación

El inventario de todo los datos que se obtiene se almacenan un disco local de la computadora que sea dedicado a ello.

No contiene contadores de datos

PROPIEDADES DE ESCRITURA

No exiten bloqueos en los parches de modificación crítico

Se obtiene acceso secuencial al disco de datos

Se entiende que sobrescribe los datos del Cache

Depende de un soporte continuo que no contiene atomicidad para generar códigos.

Siempre acepta y adopta los errores de sintaxis omitiendo errores.

FORMA DE LECTURA DE DATOS

PERTENENCIA AL CLÚSTER Y DETECCIÓN DE ERRORES

Los protocolos son usados por aquellos que pertenecen al Clúster.

Es super ligero matemáticamente explicando propiedades de probabilidad.

Su estado es diseminado en O(logN) rondas donde N se refiere al número de nodos en el clúster.

El servidor se encarga de enviar información hacia los demás ordenadores.

INSTALACION DE CASSANDRA DATASAX Y APACHE CASSANDRA

PAGINA INICIAL DONDE PODEMOS OBSERVAR LOS DATOS

INGRESADOS MEDIANTE CONSOLA

TUTORIAL DE USO COMANDOS SHELL CQL.

PROCEDEMOS ABRIR EL SQL SHELL.

VENTANA DE COMANDOS CQL

Abierta la ventana de comandos procedemos a ingresar el comando:

CREATE KEYSPACE ‘TutorialSGBD’ WITH REPLICATION = {‘class’ : SimpleStrategy’,’replication_factor’ :3};

Luego usaremos nuestro KeySpace ingresamos:

USE TutorialSGBD;

CREAR TABLAS Y CAMPOS

Procedemos a la creación de una Tabla:

CREATE TABLE TutoCassandra(user_id uuid, nombre varchar, email varchar, apellido varchar, PRIMARY KEY (user_id, email,apellido));

PRIMARY KEY: se hace referencia a los campos que se consideran con mas prioridad.

DESCRIBIMOS LA TABLA CON SUS

CAMPOS RESPECTIVOS

Usamos el siguiente comando:

DESCRIBE TABLE TutoCassandra;

Nos mostrará los tipos de datos de nuestro y las conexiones del clúster.

INSERTAR DATOS EN LOS

CAMPOS CREADOS

Para ingresar datos tenemos que usar una serie de comandos:

INSERT INTO TutoCassandra (user_id,nombre,apellido,email) VALUES (now(),’Leandro’,’Carrera’,’leandropat_12@Hotmail.com’);

Para mostrar la tabla y sus campos usamos:

SELECT * FROM TutoCassandra;

DEMOSTRACIÓN DE DATOS INGRESADOS

COMPROBAMOS DATOS

MEDIANTE OTRO DATO.

Para dicha comprobación de datos usamos:

SELECT nombre FROM TutoCassandra WHERE email=‘leandropat_12@Hotmail.com’ALLOW FILTERING;

Con este comando se hace referencia a un datos ingresado

MODIFICAR LA TABLA

Para agregar un campo dentro de la tabla usamos:

ALTER TABLE TutoCassandraADD dirección text;

Para eliminar un campo dentro de la tabla usamos:

ALTER TABLE TutoCassandraDROP apellido;

TUTORIAL DE INSTALACION Y USO DE DataSax Cassandra.

LEANDRO CARRERA

3º INFORMÁTICA

ENLACES DE DESCARGA:* Datasax 64 bits:http://planetcassandra.org/cassandra/?dlink=http://downloads.datastax.com/community/datastax-community-64bit_2.1.6.msi

* Apache Cassandra:http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.1.6/apache-cassandra-2.1.6-bin.tar.gz

* Cassandra conectors: https://github.com/datastax/spark-cassandra-connector