Apache Cassandra en SmartPolitech

30
Cassandra en SmartPolitech Cassandra en la creación de espacios inteligentes 13 Noviembre, 2014 Marcos Vecino Rosado @mvecinorosado

description

Estamos uniendo el internet de las cosas con Cassandra para crear espacios inteligentes que nos permitan ahorrar y optimizar nuestros recurso. Si te gusta Arduino y Big Data, esta es tu charla. Marcos Vecino Rosado Ingeniero en informática, trabajo en la Universidad de Extremadura en el departamento GIM (Grupo Ingeniería de Medios) diseñando dispositivos y el sistema de información de la iniciativa SmartPolitech.

Transcript of Apache Cassandra en SmartPolitech

Page 1: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitechCassandra en la creación de espacios inteligentes

13 Noviembre, 2014Marcos Vecino Rosado@mvecinorosado

Page 2: Apache Cassandra en SmartPolitech

➔ SmartPolitech

➔ Sistema de información

➔ Resultados experimentales

➔ Trabajos futuros y en proceso

Contenido

Cassandra en SmartPolitech - Marcos Vecino Rosado

Page 3: Apache Cassandra en SmartPolitech

➔ SmartPolitech

➔ Sistema de información

➔ Resultados experimentales

➔ Trabajos futuros y en proceso

Contenido

Cassandra en SmartPolitech - Marcos Vecino Rosado

Page 4: Apache Cassandra en SmartPolitech

➔ Comenzó en 2013➔ Iniciativa interdepartamental➔ Living lab mediante tecnologías SmartX➔ Objetivos

◆ Optimización de recursos◆ Eficiencia energética◆ Facilitar la vida social y académica a los usuarios◆ Sostenibilidad

➔ Caso particular del Internet de las cosas

SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Page 5: Apache Cassandra en SmartPolitech

¿Áreas de interés?

➔ Sensorización de espacios➔ Almacenamiento y disponibilidad➔ Visualización➔ Modelado predictivo➔ Planificación, filosofía, etc.

Cassandra en SmartPolitech - Marcos Vecino Rosado

SmartPolitech

Page 6: Apache Cassandra en SmartPolitech

➔ Conectividad de sensores (entornos rurales)➔ Sensorización edificios no modernos➔ Tecnología de sensorización y actuadores➔ Dispositivos heterogéneos➔ Tecnología flexible, barata, escalable y robusta

Cassandra en SmartPolitech - Marcos Vecino Rosado

SmartPolitech

Sensorización de espacios

Page 7: Apache Cassandra en SmartPolitech

➔ Mediciones◆ Condiciones climáticas (temp, hum, luminosidad)◆ Consumos (eléctrico, agua)◆ Estado de puertas, ventanas, persianas◆ Número de personas◆ Control del parking◆ Ruido

➔ Usuarios aportan información

Cassandra en SmartPolitech - Marcos Vecino Rosado

SmartPolitech

Sensorización de espacios

Page 8: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

SmartPolitech

Sensorización de espacios

➔ Arduino based◆ Panstamp◆ Arduino Pro Mini◆ Arduino Yun

➔ Mbed➔ Raspberry Pi➔ Cámaras IP➔ Smartphones

Page 9: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

SmartPolitech

Sensorización de espacios

➔ Panstamp◆ Daniel Berenguer◆ Zafra (Badajoz)◆ Hardware libre◆ Muy bajo consumo

Page 10: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

SmartPolitech

Sensorización de espacios

Page 11: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

SmartPolitech

Sensorización de espacios

Page 12: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

SmartPolitech

Sensorización de espacios

Page 13: Apache Cassandra en SmartPolitech

Almacenamiento y disponibilidad

➔ Datos muy heterogéneos➔ Time series➔ Almacenamiento masivo y alta disponibilidad➔ Minería de datos

Cassandra en SmartPolitech - Marcos Vecino Rosado

SmartPolitech

Page 14: Apache Cassandra en SmartPolitech

Visualización y Modelado Predictivo

➔ Interfaces interactivas (servicio web)➔ Monitorización de la ocupación y actividad humana➔ Seguridad y prevención de riesgos➔ Toma de decisiones -> Actuadores➔ Avisos/Alertas (email, mensajería instantánea...)

Cassandra en SmartPolitech - Marcos Vecino Rosado

SmartPolitech

Page 15: Apache Cassandra en SmartPolitech

➔ SmartPolitech

➔ Sistema de información

➔ Resultados experimentales

➔ Trabajos futuros y en proceso

Contenido

Cassandra en SmartPolitech - Marcos Vecino Rosado

Page 16: Apache Cassandra en SmartPolitech

Antecedentes

Cassandra en SmartPolitech - Marcos Vecino Rosado

Sistema de información

Page 17: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

➔ Modelo Freemium➔ Restricciones consultas (900 puntos, 14 días)➔ LOPD➔ Gráficas y estadísticas pobres➔ Imposibilidad de analizar los datos directamente

Antecedentes

Sistema de información

Page 18: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Sistema de información

Problemática➔ Red de dispositivos (Internet de las Cosas):

● Escrituras intensas● Número muy alto de conexiones concurrentes● Pueden surgir nuevos datos a almacenar

➔ Diversidad de dispositivos:● Necesitamos una interfaz común

➔ Compatible con herramientas analíticas para Big Data● Framework Hadoop, Spark

➔ Alta disponibilidad, fácil escalabilidad y tolerancia a fallos

Page 19: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Nuestra nube

Sensores

Aplicaciones Otras fuentes

Cámaras IP

API REST

Tornado Web Server

Apache Cassandra

Sistema de información

Page 20: Apache Cassandra en SmartPolitech

➔ SmartPolitech

➔ Sistema de información

➔ Resultados experimentales

➔ Trabajos en proceso y futuros

Contenido

Cassandra en SmartPolitech - Marcos Vecino Rosado

Page 21: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Despliegue del cluster➔ 3 nodos de Cassandra

● Nodos virtuales● Debian Wheezy 64 bits● Conexiones 10Gbps● Hot-add RAM/HDD

➔ Opciones de autenticación, autorización, rendimiento y seguridad

➔ OpsCenter + Scripts (mantenimiento y backup)

Resultados experimentales

Page 22: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Prueba de rendimiento

Resultados experimentales

➔ 3 millones de escrituras➔ Escribiendo en 2 nodos y Factor Replicación = 3➔ Tiempo total: 8 minutos y 27 segundos➔ Máquinas de 32 bit y limitadas en RAM (2GB)

Page 23: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Conexión dispositivos a Cassandra

Resultados experimentales

SWAP

NUBE

SWAP

Page 24: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Conexión dispositivos a Cassandra

Resultados experimentales

➔ Modificación de Lagarto-Max➔ Nuestro cluster como ser servicio

en la nube➔ Driver Python DB-API-2.0➔ Funcionando en las Raspberry Pi

Page 25: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Conexión dispositivos a Cassandra

Resultados experimentales

SWAP

DriverPython

Apache Cassandra

SWAP

Page 26: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Conexión dispositivos a Cassandra

Resultados experimentales

Apache Cassandra

HTTP

Driver Python

DataStax

Tornado Web ServerAPI REST

...

HTTP

Page 27: Apache Cassandra en SmartPolitech

➔ SmartPolitech

➔ Sistema de información

➔ Resultados experimentales

➔ Trabajos futuros y en proceso

Contenido

Cassandra en SmartPolitech - Marcos Vecino Rosado

Page 28: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Trabajos futuros y en proceso

➔ Data mining (Spark)➔ Modificación de Emoncms➔ Continuación sensorización (actuadores)➔ Incorporación del trabajo de distintos TFG/PFC➔ TIERRA➔ Etc.

Page 29: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Modificación Emoncms (emoncms.org)

Resultados experimentales

Page 30: Apache Cassandra en SmartPolitech

Cassandra en SmartPolitech - Marcos Vecino Rosado

Gracias por la atención¿Preguntas?

Esta obra está bajo una licencia Creative Comons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional