PDF de programación - Taller de Cassandra Juan Miguel Taboada Godoy

Imágen de pdf Taller de Cassandra Juan Miguel Taboada Godoy

Taller de Cassandra Juan Miguel Taboada Godoygráfica de visualizaciones

Publicado el 4 de Marzo del 2021
417 visualizaciones desde el 4 de Marzo del 2021
2,2 MB
28 paginas
Creado hace 8a (30/10/2015)
Linux Málaga
@linux_malaga www.linux-malaga.org



Taller de

Bienvenido - Welcome - Witam

Juan Miguel Taboada Godoy
@juanmitaboada
https://www.linkedin.com/in/juanmitaboada



1/28

Juan José Soler Ruiz
@soleronline
http://es.linkedin.com/in/soleronline

Linux
Málaga

Big Data

Bio

Juan Miguel Taboada Godoy ( 1980 - … )

1996 – Primer ordenador y primera LAN (cable coaxial)

1999 – Universidad de Málaga y Linux Málaga
2001 – Grupo de investigación GEB.uma.es (4 años)

Cluster computación +20 nodos (OpenMosix)

2002 – Presidente de Asociación Málaga Wireless
2003 – Beca en Neurociencia en SUNY
Teleruta (Ministerio de Fomento – 2 años)

2005 – Autónomo:
- Nace Centrologic
- Polonia (2 años)
- Likindoy (Axaragua + Junta Andalucía)

2008 – Responsable Sistemas en PontGrup
2011 – Adquisición Datos en Bética Fotovoltáicas
2012 – SAFECLON y SCRUM/KANBAN

2013 – Executive MBA

2014 – Aeronáutica: Django + AngularJS
2015 – Industria: Likindoy + Big Data



Juan José Soler Ruiz ( 1982 - … )

2001 – CFGS Administración Sistemas Informáticos

2003 – Primer premio en el concurso “Javier Benjumea”
2003 – Montaje y configuración
de “Cluster Heterogéneo De Computadoras”
bajo SO Red Hat 7.2.

2005 – STEA Telemática
2007 – Primer CRM en PHP

2010 – Administrador de BBDD / Programador
Web en Bética Fotovoltáicas

2010 – Opositometro

2012 – Centrologic (externo)

2013 – Dailymarkets
2013 – CRM en Python/Django

2014 – Centrologic

2/28



Linux
Málaga

Big Data



¿Por qué?

3/28



Linux
Málaga

Big Data

Likindoy

The monitoring company



Software de adquisición masiva de datos:

- 1 dato (Fecha+Valor) cada minuto por señal
- 1000 señales por dispositivo
- 20 dispositivos por nodo
- 40 nodos por cliente
800.000 registros por minuto

(8.000.000 tomas por minuto)

- 48M por hora
- 1.152M por día
0,4 Billones por año y cliente

4/28



Linux
Málaga

Big Data

Año 2016



- La gestión de datos crece de momento EXPONENCIALMENTE

- SEAGATE anuncia que el año 2016 será el año del Zettabyte

- 1 ZB equivale al espacio que ocupa 2 billones de años de música

- 1 ZB = 1024 exabytes = casi 1.1 trillones de Gbytes

- 1 zB = 1 sixtillón de bytes

- Ahora estamos en la época del quintillón de bytes...

5/28



Linux
Málaga

Big Data

¿Cuanto es un quintillón?

- Una única gota de agua contiene:
1.7 quintillones de moléculas de agua.



- La distancia de la Via Láctea hasta Andrómeda es de:
2 millones de años luz
18,87 quintillones de kilómetros
11,73 quintillon miles

- La tierra completa contiene unos:
1.234 quintillones de litros de agua
326 quintillon gallons of water

- Si cortamos la tierra por la mitad, la sección tendría
un área aproximada de:
1.275 quintillones de centímetros cuadrados

- ¿Cuanto es un quintillón de céntimos o peniques de dólar?

6/28



Linux
Málaga

Big Data

¿Cuanto es un quintillón... de peniques?



1.000.067.088.384.000.000 peniques

1 quintillón, 67 trillones, 88 billones, 384 millones de peniques

Un cubo de 8,32 kilómetros de lado

7/28



Linux
Málaga

Big Data

Teorema de CAP



Eric Brewer (2000)

C: Consistency → Consistencia

A: Availability → Disponibilidad

P: Partition tolerance → Tolerancia al particionado

Sólo puedes llegar a 2 de las 3

Es imposible para un sistema de cómputo distribuido garantizar

simultáneamente la consistencia, la disponibilidad y ser tolerante

al particionado de los datos (separación y distribución).

8/28



Linux
Málaga

Big Data

Teorema de CAP

Lo que la mayoría
Lo que la mayoría
piensa que tiene
que tiene



Siempre se puede

leer y escribir

A

C

Todos los clientes

ven siempre lo mismo

P

Funcionará incluso
cuando haya errores

en el sistema

9/28



Linux
Málaga

Big Data

Teorema de CAP

Lo que la mayoría
Lo que la mayoría
de de verdad tiene
tiene

Siempre se puede

leer y escribir

A



C

Todos los clientes

ven siempre lo mismo

P

Funcionará incluso
cuando haya errores

en el sistema

10/28



Linux
Málaga

Big Data

Teorema de CAP



Lo cierto es que todos buscamos la disponibilidad (A)

Pero ... ¡¡¡ tenemos que elegir entre... !!!

Escalabilidad (P)

y

Consistencia (C)

11/28



Linux
Málaga

Big Data

Teorema de CAP



ACID
A: Atomicidad

C: Consistencia

I: Aislamiento (Isolation)

D: Durabilidad

En grandes sistema ocurre que:

Disponibilidad y Rendimiento

12/28



Linux
Málaga

Big Data

Teorema de CAP



BASE

BA: Básicamente disponible

S: Flexible (Soft state)

E: Consistencia eventual

Da menos importancia a la consistencia
en pro de la tolerancia al particionado

aparece la consistencia eventual

13/28



Linux
Málaga

Big Data

Teorema de CAP



¿Qué es la consistencia eventual?

Que ... eventualmente será consistente

Podemos introducir un dato y que

no esté disponible inmediatamente después

Convergencia natural a la consistencia

14/28



Linux
Málaga

Big Data

Teorema de CAP



CA

MySQL Postgres
Oracle SQLServer

Todos los clientes

ven siempre lo mismo

C

Siempre se puede

leer y escribir

A

CP

MongoDB Redis
MemcacheDB Hbase
Berkely DB

AP

Dynamo Cassandra
SimpleDB CouchDB

P

Funcionará incluso
cuando haya errores

en el sistema

15/28



Linux
Málaga

Big Data

Teorema de CAP



CA

MySQL Aster Data
Postgres Greenplum
Oracle Vertica
SQLServer

A

AP

Dynamo Cassandra
Voldemort SimpleDB
Tokyo Cabinet CouchDB
KAI Riak

Tipo

Relacional
Clave-Valor

Orientado a columna
Orientado a documento

P

C

CP

BigTable MongoDB Berkely DB
Hypertable Terrastore MemcacheDB
HBase Scalaris Redis

16/28



Linux
Málaga

Big Data



Disponibilidad contínua

Simplicidad en la gestión entre servidores
Sin un único punto de fallo

Escalabilidad linear
- Si 2 nodos procesan 100 transacciones/seg
- 4 nodos procesan 200 transacciones/seg
- 8 nodos procesan 400 transacciones/seg

Sistema descentralizado (sin master)

Relaciones por grupo: Nodo → Datacenter → Cluster
Replicación personalizada

17/28



Linux
Málaga

Big Data

¿Quién usa Cassandra?

Fuente: http://planetcassandra.org/companies/



18/28



Linux
Málaga

Big Data

¿Quién usa Cassandra?



Al finalizar la última iteración del LHC en el que se descubrió el
“Bosón de Higgs”, el CERN almacenaba más de 100Pbytes

El LHC del CERN arrancó en Abril de 2015 en busca de la
Supersimetría (capaz de producir 1Pbytes/segundo)

1Petabyte = 1.000 Terabytes = 1 Millón de Gigabytes

Ejecuta 235 clusters separados, con un total de 7.000 nodos.
1 Millón de escrituras por segundo (factor 3)

Ecosistema para desarrolladores de juegos que teniendo problemas
con MongoDB migraron a Cassandra.

19/28



Linux
Málaga

Big Data



¡Hey tío!, somos 1023,

¿te vienes y nos hacemos un Peta?

. . . B R E A K . . .
TB
TB
TB
TBTBTB
TBTB
TB
TBTB
TB
TB
TBTBTB
TB
TBTBTB
TBTB TB
TBTB
TBTBTB
TBTB
TB
TBTB
TB
TBTBTB
TB
TB
TBTBTB
TBTBTBTBTBTB
TB
TB
TBTBTB
TB
TB
TBTBTBTBTB
TBTB TB
TBTBTB
TB
TBTB
TBTB
TB
TB
TB
TBTBTBTBTB
TB
TBTBTB
TBTB
TB
TB
TB
TB
TBTB
TB
TB
TBTB
TB
TBTB
TBTB
TB
TBTBTBTBTB
TB
TB
TB
TBTBTB
TBTBTB
TBTBTB
TB

TB

¡Hecho!



Linux
Málaga

Big Data

20/28



Guía de CQL

21/28



Linux
Málaga

Big Data

Guía CQL



¿Cómo conectarnos desde la línea de comando?

$ cqlsh

Creando un Keyspace

> CREATE KEYSPACE centrologic

WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor' : 2 };

Ver Keyspaces

> DESCRIBE KEYSPACES;

Usar un Keyspace

> USE centrologic;

Ver las tablas de un Keyspace

> DESCRIBE TABLES;

22/28



Linux
Málaga

Big Data

Guía CQL

Creación de tablas



> CREATE TABLE test1 (

id uuid,
ciudad text,
pais text,
poblacion int
latitud float,
longitud float,
PRIMARY KEY (id)

);

Insertar datos

> INSERT INTO centrologic.test1 (id, ciudad, pais, poblacion, latitud, longitud)

VALUES (uuid(), 'Malaga', 'Spain', 572947, 36.716667, -4.416667);

> INSERT INTO centrologic.test1 (id, ciudad, pais, poblacion, latitud, longitud)

VALUES (uuid(), 'Madrid', 'Spain', 3207247, 40.418889, -3.691944);

23/28



Linux
Málaga

Big Data

Guía CQL

Seleccionar datos

> SELECT * FROM centrologic.test1;

Filtrar datos



> SELECT * FROM centrologic.test1 WHERE ciudad = 'Malaga';

Para poder hacer búsqueda por un campo este debe tener un índice

Crear índices secundarios

> CREATE INDEX ON centrologic.test1 (ciudad);

Volver a consultar datos

> SELECT * FROM centrologic.test1 WHERE ciudad = 'Malaga';

24/28



Linux
Málaga

Big Data

Guía CQL



Modificar el tipo de un campo

> ALTER TABLE centrologic.test1 ALTER ciudad TYPE varchar;

Agregar un campo a un tabla

> ALTER TABLE centrologic.test1 ADD distrito varchar;

> ALTER TABLE centrologic.test1 ADD codigopostal LIST <text>;

Eliminar un campo de una tabla

> ALTER TABLE centrologic.test1 DROP distrito;

Vaciar un tabla

> TRUNCATE TABLE centrologic.test1;

25/28



Linux
Málaga

Big Data

Guía CQL

Borrar un índice



Vemos la información de la tabla para obtener el nombre del índice

> DESCRIBE TABLE centrologic.test1;

Eliminamos el índice

> DROP INDEX centrologic.test1_cuidad_idx;

Borrar una tabla

> DROP TABLE centrologic.test1;

Borrar un keyspace

> DROP TABLE centrologic;

Modificar factor de replicación según el datacenter

> ALTER KEYSPACE centrologic

WITH REPLICATION = { 'class': 'SimpleStrategy', 'datacenter1': 3, 'datacenter2': 2 };

26/28



Linux
Málaga

Big Data

Dudas



27/28



Linux
Málaga

Big Data



Muchas
Gracias
Thank you - Dziękuję

Juan Miguel Taboada Godoy
http://www.centrologic.com
@juanmitaboada
https://www.linkedin.com/in/juanmitaboada

Juan José Sol
  • Links de descarga
http://lwp-l.com/pdf18949

Comentarios de: Taller de Cassandra Juan Miguel Taboada Godoy (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad