Transcript Introducción al análisis de información con bases
Eduardo Zarate Ing. En Computación Developer en Crowdfunder @iLaliux facebook.com/iLaliux [email protected]
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.
www.bigdataconf.mx
www.bigdataconf.mx
“Welcome to the jungle” ..
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
www.bigdataconf.mx
Clasificación de bases de datos NoSQL
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.
Diseños “al vuelo” ..
www.bigdataconf.mx
Borrón y cuenta nueva
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?
Todo depende ..
www.bigdataconf.mx
¿Vale la pena?
www.bigdataconf.mx
El elegido es ...
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.
Todo depende ..
www.bigdataconf.mx
¿Vale la pena?
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:couchdb/stable -y
sudo apt-get install -V couchdb
Para Ubuntu Linux ..
www.bigdataconf.mx
www.bigdataconf.mx
Verificación de que está en ejecución
Acceso a Futon, administrador de CouchDB www.bigdataconf.mx
www.bigdataconf.mx
Creación de una base de datos
www.bigdataconf.mx
Creación de un nuevo documento
www.bigdataconf.mx
Almacenar un documento
Consulta de un documento a través de web www.bigdataconf.mx
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
npm install ntwitter npm install cradle #Módulo nodejs-twitter y nodejs-couchdb
www.bigdataconf.mx
www.bigdataconf.mx
www.bigdataconf.mx
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
www.bigdataconf.mx
www.bigdataconf.mx
Verificar que hay registros agregados
www.bigdataconf.mx
Checar datos de algunos registros
www.bigdataconf.mx
El momento de la verdad ..
Motor de búsqueda y análisis en tiempo real.
Excelente integración con CouchDB.
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
www.bigdataconf.mx
Verificar que Elasticsearch está en ejecución www.bigdataconf.mx
#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
river.couchdb se comunica con CouchDB
www.bigdataconf.mx
El comando “bash users.index” manda la ejecución para la creación del índice.
www.bigdataconf.mx
Interfaz del plugin “head” permite interactuar con Elasticsearch www.bigdataconf.mx
Las últimas líneas permiten el acceso a Kibana.
www.bigdataconf.mx
Análisis de datos de seguidores de Twitter www.bigdataconf.mx
Análisis de datos de seguidores de Twitter www.bigdataconf.mx
www.bigdataconf.mx
Análisis de datos de amigos de Twitter
www.bigdataconf.mx
Análisis de datos de amigos de Twitter
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
Eduardo Zarate
@iLaliux facebook.com/iLaliux [email protected]