PDF de programación - Big Data con Cassandra

Imágen de pdf Big Data con Cassandra

Big Data con Cassandragráfica de visualizaciones

Publicado el 4 de Marzo del 2021
750 visualizaciones desde el 4 de Marzo del 2021
4,2 MB
47 paginas
Creado hace 9a (07/05/2015)
Linux Málaga
@linux_malaga www.linux-malaga.org



Big Data

Bienvenido - Welcome - Witam

Juan Miguel Taboada Godoy
@centrologic_es
http://linkedin.com/user/centrologic

1/47

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

Linux
Málaga

Big Data



Bio

Juan Miguel Taboada Godoy ( 1980 - … )

Juan José Soler Ruiz



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

2001-2003 – 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-2012 – STEA Telemática
2007-2009 – Primer CRM en PHP

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

2010-2012 – Opositometro

2012-.... – Centrologic

2013 – Dailymarkets
2013-2014 – CRM en Python/Django

2014-... – Centrologic

2/47



Linux
Málaga

Big Data



¿Por qué?

3/47



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/47



Linux
Málaga

Big Data

Grandes números
2012



5/47



Linux
Málaga

Big Data

Grandes números
2014



6/47



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...

7/47



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?

8/47



Linux
Málaga

Big Data

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



9/47



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

10/47



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).

11/47



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

12/47



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

13/47



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)

14/47



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

15/47



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

16/47



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

17/47



Linux
Málaga

Big Data

Teorema de CAP



Resolución de conflictos

Anti-entropía (control de versiones)

Reconciliación (elección de estado final)

[ generalmente: “last write wins” ]

Garantizar la seguridad de una operación

Strong eventual consistency (SEC)

18/47



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

19/47



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

20/47



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

21/47



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

22/47



Linux
Málaga

Big Data



Gossip: mantiene la red informada

Partitioner: deciden como se distribuyen los datos

Replication factor: número de réplicas en el cluster

Replica placement strategy: donde poner las réplicas

Snitch: define grupo de máquinas destinadas a réplicas

23/47



Linux
Málaga

Big Data



Gossip:

- Protocolo punto a punto

- Comunicación entre nodos

- Detección de fallos y recuperación

- Autodetección de topología e información

24/47



Linux
Málaga

Big Data



Particionador: encargado de “esparcir” los datos.

Desaconsejados:
Random: Hashes con MD5 (mejor usar Murmur3)
ByteOrdered: orden lexicográfico sobre las claves
OrderPreserving: se asumen claves en formato UTF8

Murmur3: Funcionalmente idéntico a Random
pero es más rápido sin efectos colaterales. Se
centra en la distribucción espacial.

25/47



Linux
Málaga

Big Data



Planificar el deploy de un cluster

Hardware:
- RAM: 16GB-64Gb (mínimo 8Gb)
- CPU: 8-cores dedicados o 4-8 cores en virtuales
- Disco: mejor entre 500Gb y 1Tb por nodo (según I/O)
- 2 discos (commit log + data)
- Sistema de ficheros XFS
- Red mínimo Gigabit

26/47



Linux
Málaga

Big Data



Planificar el deploy de un cluster

Espacio útil disco: 45%-70% de espacio total RAW

Antipatrones:
- Usar un NAS
- Sistemas de ficheros compartidos
- SELECT … IN
- Leer antes de escribir (multiples hits)
- Balanceadores de carga
- Falta de testing
- Bajo conocimiento de Linux

27/47



Linux
Málaga

Big Data

CQL

SQL



CQL

USE myDatabase;

USE myDatabase;

/* Creating Tables */
CREATE TABLE IF NOT EXISTS myTable (id INT PRIMARY KEY);

/* Creating Tables */
CREATE TABLE IF NOT EXISTS myTable (id INT PRIMARY KEY);

/* Altering Tables /*
ALTER TABLE myTable ADD myField INT;

/* Creating Indexes */
CREATE INDEX myIndex ON myTable (myField);

/* Inserting Data */
INSERT INTO myTable (id, myField) VALUES (1, 7);

/* Selecting Data */
SELECT * FROM myTable WHERE myField = 7;

/* Counting Data */
SELECT COUNT(*) FROM myTable;

/* Deleting Data */
DELETE FROM myTable WHERE myField = 7;

/* Altering Tables /*
ALTER TABLE myTable ADD myField INT;

/* Creating Indexes */
CREATE INDEX myIndex ON myTable (myField);

/* Inserting Data */
INSERT INTO myTable (id, myField) VALUES (1, 7);

/* Selecting Data */
SELECT * FROM myTable WHERE myField = 7;

/* Counting Data */
SELECT COUNT(*) FROM myTable;

/* Deleting Data */
DELETE FROM myTable WHERE myField = 7;

28/47



Linux
Málaga

Big Data

Lenguaje CQL



CQL

USE miBaseDatos;

/* Creando Tablas */
CREATE TABLE IF NOT EXISTS miTabla (id INT PRIMARY KEY);

/* Cambiando Tablas /*
ALTER TABLE miTabla ADD miCampo INT;

/* Creating Indexes */
CREATE INDEX miIndice ON miTabla (
  • Links de descarga
http://lwp-l.com/pdf18947

Comentarios de: Big Data con Cassandra (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