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 y su objetivo principal es la escalabilidad lineal y la disponibilidad. Cassandra usa una arquitectura distribuida de nodos iguales que se comunican mediante un protocolo P2P para maximizar la redundancia.
2. ¿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.
3. 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.
4. 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
5. 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.
7. 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.
9. 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.
11. 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.
23. VENTANA DE
COMANDOS CQL
Abierta la ventana de
comandos procedemos a
ingresar el comando:
CREATE KEYSPACE ‘TutorialSGBD’
WITH REPLICATION = {‘class’ :
SimpleStrategy’,’replication_fact
or’ :3};
Luego usaremos nuestro
KeySpace ingresamos:
USE TutorialSGBD;
24. 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.
25. 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.
26. INSERTAR
DATOS EN LOS
CAMPOS
CREADOSPara ingresar datos tenemos
que usar una serie de
comandos:
INSERT INTO TutoCassandra
(user_id,nombre,apellido,emai
l) VALUES
(now(),’Leandro’,’Carrera’,’le
andropat_12@Hotmail.com’);
Para mostrar la tabla y sus
campos usamos:
SELECT * FROM
TutoCassandra;
28. COMPROBAMO
S DATOS
MEDIANTE OTRO
DATO.Para dicha comprobación
de datos usamos:
SELECT nombre FROM
TutoCassandra WHERE
email=‘leandropat_12@Hot
mail.com’ALLOW FILTERING;
Con este comando se hace
referencia a un datos
ingresado
29. MODIFICAR LA
TABLA
Para agregar un campo
dentro de la tabla usamos:
ALTER TABLE TutoCassandra
ADD dirección text;
Para eliminar un campo
dentro de la tabla usamos:
ALTER TABLE TutoCassandra
DROP apellido;
30. 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.da
tastax.com/community/datastax-community-64bit_2.1.6.msi
* Apache Cassandra:
http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.1.6/ap
ache-cassandra-2.1.6-bin.tar.gz
* Cassandra conectors:
https://github.com/datastax/spark-cassandra-connector