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 “Welcome to the jungle” .. www.bigdataconf.mx Relacional ◦ ◦ ◦ ◦ Base de datos Tablas Columnas Relaciones www.bigdataconf.mx No relacional ◦ ◦ ◦ ◦ Base de datos Documentos Campos o atributos NO relaciones, no INNER JOIN, LEFT JOIN, etc.. Clasificación de bases de datos NoSQL www.bigdataconf.mx 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 transacciones? ◦ ¿Tiempos de respuesta? ◦ ¿Volumen de datos? Todo depende .. www.bigdataconf.mx ¿Vale la pena? El elegido es ... www.bigdataconf.mx Características ◦ Consume muy poca memoria. ◦ Sencilla de usar. ◦ Notificaciones de cambios en tiempo real. ◦ De forma nativa soporta el protocolo HTTP. ◦ Almacena documentos en formato JSON. 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 Verificación de que está en ejecución www.bigdataconf.mx Acceso a Futon, administrador de CouchDB 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 www.bigdataconf.mx 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 Verificar que hay registros agregados www.bigdataconf.mx Checar datos de algunos registros www.bigdataconf.mx El momento de la verdad .. www.bigdataconf.mx 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/elasticsearchlang-javascript/2.4.1 ./bin/plugin -install elasticsearch/elasticsearchriver-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 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 Eduardo Zarate @iLaliux facebook.com/iLaliux [email protected]