Eduardo Zarate Ing. En Computación Developer en Crowdfunder @iLaliux facebook.com/iLaliux...

Post on 22-Jan-2016

216 views 0 download

Transcript of Eduardo Zarate Ing. En Computación Developer en Crowdfunder @iLaliux facebook.com/iLaliux...

Introducción al análisis de información con bases de datos

NoSQL

Eduardo ZarateIng. En Computación

Developer en Crowdfunder

@iLaliux facebook.com/iLaliux eduardo@bbfour.com

El objetivo es demostrar cómo se pueden integrar diversas herramientas y tecnologías para el desarrollo de aplicaciones con bases de datos no relaciones.

Introducción al análisis de información con bases de datos NoSQL

www.bigdataconf.mx

“Welcome to the jungle” ..www.bigdataconf.mx

Un nuevo paradigma

Relacional

◦ Base de datos◦ Tablas◦ Columnas◦ Relaciones

No relacional

◦ Base de datos◦ Documentos◦ Campos o atributos◦ NO relaciones, no INNER

JOIN, LEFT JOIN, etc..

www.bigdataconf.mx

Clasificación de bases de datos NoSQLwww.bigdataconf.mx

Pros y contras del NoSQL

Diseños “al vuelo” ..Borrón y cuenta nueva

Ventaja

◦ Estructura flexible para el almacenamiento de datos.

Desventajas

◦ Gran variedad, muchas bases de datos con diferentes características.

◦ No hay un lenguaje estándar de consulta.

www.bigdataconf.mx

¿Qué base de datos elegir?

Todo depende .. ¿Vale la pena?

Consideraciones

◦ ¿Qué tipo de información se manejará?

◦ ¿Qué tipo de aplicación o sistema será?

◦ ¿Volumen de datos?

◦ ¿Volumen de transacciones?

◦ ¿Tiempos de respuesta?

www.bigdataconf.mx

El elegido es ...www.bigdataconf.mx

¿Por qué CouchDB?

Todo depende .. ¿Vale la pena?

Características

◦ Consume muy poca memoria.

◦ Sencilla de usar.

◦ Almacena documentos en formato JSON.

◦ Notificaciones de cambios en tiempo real.

◦ De forma nativa soporta el protocolo HTTP.

www.bigdataconf.mx

Instalación CouchDB

Para Ubuntu Linux ..

sudo apt-get install software-properties-common -y

sudo add-apt-repository ppa:couchdb/stable -y

sudo apt-get install -V couchdb

www.bigdataconf.mx

Verificación de que está en ejecuciónwww.bigdataconf.mx

Acceso a Futon, administrador de CouchDBwww.bigdataconf.mx

Creación de una base de datoswww.bigdataconf.mx

Creación de un nuevo documentowww.bigdataconf.mx

Almacenar un documentowww.bigdataconf.mx

Consulta de un documento a través de webwww.bigdataconf.mx

Instalación NodeJS

#Módulo nodejs-twitter y nodejs-couchdb

sudo add-apt-repository ppa:chris-lea/node.js

sudo apt-get update

sudo apt-get install nodejs

npm install ntwitter npm install cradle

www.bigdataconf.mx

Script para descargar amigos de un usuario de Twitter

www.bigdataconf.mx

www.bigdataconf.mx

Script para descargar seguidores de un usuario en Twitter

www.bigdataconf.mx

Descarga de datos de Twitter

www.bigdataconf.mx

#Bajar datos de los amigos de @ilaliux node friends.js ilaliux

#Bajar datos de los seguidores de @ilaliux node followers.js ilaliux

Verificar que hay registros agregadoswww.bigdataconf.mx

Checar datos de algunos registroswww.bigdataconf.mx

El momento de la verdad ..www.bigdataconf.mx

Elasticsearch

Motor de búsqueda y análisis en tiempo real.

Excelente integración con CouchDB.

www.bigdataconf.mx

Instalación y ejecución

www.bigdataconf.mx

#Requisito tener instalado Java sudo apt-get install openjdk-7-jdk

#Descomprimir y ejecutar unzip elasticsearch-1.4.1.zip cd elasticsearch-1.4.1 ./bin/elasticsearch

Verificar que Elasticsearch está en ejecuciónwww.bigdataconf.mx

Instalación de plugins

river.couchdb se comunica con CouchDB

#Detener Elasticsearch, instalar plugins e iniciar nuevamente Elasticsearch

./bin/plugin -install mobz/elasticsearch-head

./bin/plugin -install elasticsearch/elasticsearch-lang-javascript/2.4.1

./bin/plugin -install elasticsearch/elasticsearch-river-couchdb/2.4.1

www.bigdataconf.mx

Definición y creación de un índice

www.bigdataconf.mx

El comando “bash users.index” manda la ejecución para la creación del índice.

Interfaz del plugin “head” permite interactuar con Elasticsearch

www.bigdataconf.mx

Configuración mínima

www.bigdataconf.mx

Las últimas líneas permiten el acceso a Kibana.

Análisis de datos de seguidores de Twitter

www.bigdataconf.mx

Análisis de datos de seguidores de Twitter

www.bigdataconf.mx

Análisis de datos de amigos de Twitter

www.bigdataconf.mx

Análisis de datos de amigos de Twitter

www.bigdataconf.mx

Definición de parámetros de búsqueda en Kibana

www.bigdataconf.mx

Definición de parámetros de búsqueda en Kibana

www.bigdataconf.mx

Búsquedas desde el plugin elasticsearch-head

www.bigdataconf.mx

Búsquedas desde el plugin elasticsearch-head

www.bigdataconf.mx

GraciasEduardo Zarate

@iLaliux facebook.com/iLaliux eduardo@bbfour.com