Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Big Data - Conceptos, herramientas y patrones

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 37 Anuncio
Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a Big Data - Conceptos, herramientas y patrones (20)

Anuncio

Más reciente (20)

Big Data - Conceptos, herramientas y patrones

  1. 1. BIG DATA Conceptos, tecnologías y patrones @juanjodomenech
  2. 2. #WHOAMI @juanjodomenech Juan José Domenech
  3. 3. ¿QUÉ ES BIG DATA? • Diferencia entre el marketing comercial y la necesidad de una realidad Big Data. • No existe unanimidad en la definición de Big Data pero si un cierto consenso en la fuerza que suponen los grandes volúmenes de datos y la necesidad de su captura, almacenamiento y análisis. • Def. 1: 2011 - Gartner “Big Data excede el alcance de los entornos de hardware de uso común y herramientas de software para capturar, gestionar y procesar los datos dentro un tiempo transcurrido tolerable para su población de usuarios” • Def. 2: 2011 – McKinsey Global Institute: “Big Data se refiere a los conjuntos de datos cuyo tamaño esta más allá de las capacidades de las herramientas típicas de software de base de datos para capturar, almacenar, gestionar Y analiza” @juanjodomenech
  4. 4. ¿QUÉ ES BIG DATA? • Def. 3: IDC “Big Data es una nueva generación de tecnologías, arquitecturas y estrategias diseñadas para capturar y analizar grandes volúmenes de datos provenientes de múltiples Fuentes heterogéneas a una alta velocidad con el objeto de extraer valor económico de ellos” • Def. 4: Gartner “Big Data son los grandes conjuntos de datos que tiene tres características principales: volumen(cantidad), velocidad(velocidad de creación y utilización) variedad(tipos de fuentes de datos no estructurados tales como la interacción social, video, audio, etc.” => Grande + diverso = Infraesctructuras TI tradicionales rotas Conclusión: dependiendo de las características de las empresas primará el volumen, velocidad o variabilidad. Nos ayudará en la analítica predictiva y descriptiva @juanjodomenech
  5. 5. CARACTERÍSTICAS. MODELO DE LAS 3V @juanjodomenech
  6. 6. CARACTERÍSTICAS. MODELO DE LAS 3V 5V (I) @juanjodomenech
  7. 7. CARACTERÍSTICAS. MODELO DE LAS 3V 5V (II) @juanjodomenech
  8. 8. FUENTES DE LOS DATOS @juanjodomenech
  9. 9. SECTORES ESTRATÉGICOS @juanjodomenech • Sector de la salud de los Estados Unidos • Administración del sector público de la Unión Europea • Comercio minorista (retail) a nivel mundial • Fabricación(manufacturing) a nivel mundial • Datos de posiciones de personas (geolocalización) a nivel mundial Representan el 40% del PIB global en 2010
  10. 10. OPEN DATA @juanjodomenech • Depende del autor Big Data y Open Data estarán relacionados o no tendrán nada que ver. • Para mi: cuando un conjunto de datos de diversos tipos son necesarios ser consultados a una velocidad asumible por el usuario y de gran valor son Big Data. En el caso de Open Data es el resultado de un Big Data expuestos de forma pública de forma gratuita o un coste mínimo. • Ejemplos: http://datos.gob.es/es https://datos.madrid.es/ https://data.gov.uk/ https://www.data.gov/
  11. 11. ARQUITECTURA OPEN DATA. EJEMPLO @juanjodomenech • Evitar conexiones punto a punto • Conexión con otras configuraciones • Tolerante a fallos y siempre actualizado Posible solución: sistema basado en mensaje. Apache Kafka http://kafka.apache.org/intro
  12. 12. LA ARQUITECTURA DE BIG DATA @juanjodomenech • Se compone de dos grandes categorías: arquitectura y gobierno de la información (normas, organización, estructuras y roles) • Debe integrarse con las infraestructuras existentes y coexistir con las acciones del gobierno de los datos tradicionales • Primero: definir las diferentes capas de la arquitectura • Segundo: seleccionar al proveedor que ofrezca la solución mediante las distribuciones adecuada
  13. 13. @juanjodomenech Arquitectura + Gobierno
  14. 14. (ALGUNAS) HERRAMIENTAS @juanjodomenech
  15. 15. @juanjodomenech
  16. 16. HERRAMIENTAS. HADOOP @juanjodomenech • Apache Hadoop es unabiblioteca open source que soportar el procesamiento distribuido de grandes conjuntos de datos en cluster. http://hadoop.apache.org/ • Surge de Google y Yahoo y su paradigma MapReduce. • Incluye 4 módulos: • Hadoop Common. Las utilidades típicas que soportar a los restantes módulos de Hadoop. • Hadoop Distributed File System (HDFS). Un sistema de archivos distribuidos que proporciona acceso de alto rendimiento a datos de aplicaciones. • Hadoop YARN. Un framework para la planificación de trabajos y la gestión de recursos del cluster. • Hadoop MapRecuce. Sistema basado en YARN para procesar en paralelo grandes conjuntos de datos. • Multitud de proyectos relacionados con Hadoop: Avro, Cassandra, Chukwa, Hbase, Hive, Mahout, Pig, Zookeeper
  17. 17. HERRAMIENTAS. HADOOP. MAPREDUCE @juanjodomenech • Ejemplo e introducción: https://www.tutorialspoint.co m/map_reduce/map_reduce_i ntroduction.htm
  18. 18. HERRAMIENTAS. DB ENGINE (I) @juanjodomenech • NoSQL: SQL sólo puede ser efectivo para grandes volúmenes de datos si son están estructurados, de lo contrario necesitamos NoSQL (Not Only SQL). • Tipos: • Clave-Valor: - Redis: almacena la estructura en memoria ya sea caché, base de datos o mensajes. https://redis.io/ - Memcached: almacena en memoria de forma distribuida resultados de llamadas a bases d datos, API o renderizado de páginas http://memcached.org/ - Azure Cosmos DB: (pago) base de datos multimodelo (clave-valor, columnas o grafos), eslacalble y siempre disponible https://docs.microsoft.com/es-es/azure/cosmos-db/ - Hazelcast: (pago) almacena en memoria, de fomra distribuida y con ejecución en paralelo https://hazelcast.com
  19. 19. HERRAMIENTAS. DB ENGINE (II) @juanjodomenech • Columnas: - Cassandra: escalable, de alta disponibilidad, tolerante a fallos (información se replica de forma automática), descentralizada, son soporte para HDFS http://cassandra.apache.org/ - Hbase: Hadoop dataase, open source, distribuida y escalable. Big Table de Google. https://hbase.apache.org/ • Documentos: - MongoDB: open source, guarda estructura similar al JSON (BSON), facilitando la integración con ciertas aplicaciones, escalable https://www.mongodb.com/es - Amazon DynamoDB: (pago) soporta clave-valor, flexible, escalable, dispone de caché (Accelerator) para reducir tiempos https://aws.amazon.com/es/dynamodb/ - Couchbase: (pago) basada en JSON, alta disponibilidad, datos distrbuidos y cero downtime https://www.couchbase.com - CouchBD: implementa el Couch Replication Protocol que permite sincronizar documentos JSON entre 2 peers sobre http. http://couchdb.apache.org
  20. 20. HERRAMIENTAS. DB ENGINE (III) @juanjodomenech • Grafos: - Neo4j: plataforma para el trabajo con grafos https://neo4j.com/ - OrientDB: open source, multimodelo https://orientdb.com/why-orientdb/ - Titan: escalable, distribuida, soporte para Cassandra, Hbase e integración con las plataformas Spark, Giraph, Hadoop, Solr, Lucene, Elastic Search http://titan.thinkaurelius.com/ • Triplestores/RDF (resource description language) : - Apache Jena: open source framework en Java para construir aplicaciones de tipo Web Semántica y Linked Data https://jena.apache.org/ - Virtuoso: https://virtuoso.openlinksw.com/
  21. 21. HERRAMIENTAS. DB ENGINE (IV) @juanjodomenech • Native XML DBMS (NXD– sistemas de gestión de base de datos cuyo modelo corresponde a documentos XML pero no necesariamente los almacena como tal, usando otros formatos para una mejor eficiencia): - Marklogic: https://www.marklogic.com/ - Oracle Barkeley DB: http://www.oracle.com/technetwork/database/database- technologies/berkeleydb/overview/index.html - Virtuoso: https://virtuoso.openlinksw.com/ • Buscadores: - Lucene: librería open source, escrita en Java enfocada a un alto rendimiento para indexación y búsqueda https://lucene.apache.org/core/ - Solr: servidor de búsqueda de alto rendimiento construido usando Lucene con XML/HTTP y JSON/Python/Ruby APIs http://lucene.apache.org/solr/features.html - ElasticSearch: servidor de búsqueda open source y basado en Lucene https://www.elastic.co/
  22. 22. HERRAMIENTAS. DB ENGINE (V) @juanjodomenech • SQL en Hadoop: - Hive: http://hive.apache.org/ - Imapala: https://impala.apache.org/ - Phoenix: https://phoenix.apache.org/ • Time Series DBMS (sistemas de gestión de base de datos optimizados para manejar datos en el tiempo: cada entrada es asociada con un timestamp. Ej.: IoT alta frecuencia de envíos): - InfluxDB: (pago) https://www.influxdata.com/ - RRDtool (round-robin database tool): https://oss.oetiker.ch/rrdtool/ - Graphite: https://graphiteapp.org/ - OpenTSDB: http://opentsdb.net/
  23. 23. HERRAMIENTAS. DATA STORE @juanjodomenech • Almacenamiento de objetos: - HDFS - AWS S3: https://aws.amazon.com/es/s3 - Google Cloud Storage: https://cloud.google.com/storage/?hl=es
  24. 24. HERRAMIENTAS. MENSAJERÍA (I) @juanjodomenech • Cuando tenemos aplicaciones desacopladas en bloques pequeños e independientes (para facilitar su desarrollo, implementación y mantenimiento), las colas de mensajes proporcionan la comunicación y coordinación necesarias para este entorno distribuido. • Permiten a las diferentes partes comunicarse y procesar operaciones de forma asíncrona.
  25. 25. HERRAMIENTAS. MENSAJERÍA (II) @juanjodomenech • Herramientas: • Apache Kafka: construida para real-time, escalable, tolerante a fallos https://kafka.apache.org/ • RabbitMQ: https://www.rabbitmq.com/ • Apache ActiveMQ: http://activemq.apache.org/ • ZeroMQ: http://zeromq.org/
  26. 26. HERRAMIENTAS. PROCESAMIENTO Y ANÁLISIS @juanjodomenech • Apache Flink: framework para el proceso de flujos de datos distribuidos, con alto rendimiento y siempre disponible https://flink.apache.org • Apache Storm: sistema en tiempo real para el análisis, machine learning, computación continua, etc. http://storm.apache.org/ • Apache Samza: framework para procesar flujos distribuidos. Usa Kafka para los mensajes y YARN para la tolerancia a fallos, seguridad y gestión de recursos http://samza.apache.org/ • MapReduce: mediante el módulo que proporciona Hadoop http://hadoop.apache.org/
  27. 27. HERRAMIENTAS. PROCESAMIENTO Y ANÁLISIS @juanjodomenech • Apache Spark: plataforma de computación en clúster diseñado para ser rápido y de propósito general, extendiendo MapReduce https://spark.apache.org/ • Apache Pig: lenguaje de alto nivel y framework para el análisis d grandes conjuntos de datos https://pig.apache.org/ • Druid: ofrece almacenamiento y exploración de datos, con foco en la baja latencia, puede funcionar entre la aplicación y Spark http://druid.io/
  28. 28. HERRAMIENTAS. GESTIÓN DE RECURSOS @juanjodomenech • YARN: módulo de Hadoop que se caracteriza por ser un sistema operativo distribuido a gran escala. https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html • Apache Mesos: basado en los principios de Linux, se ejecuta en cada nodo del cluster y provee aplicaciones (ej. Hadoop, Spark, Kafka, Elasticsearch) con APIs para el manejo de recursos y planificación de tareas del datacenter http://mesos.apache.org/ • Apache Zookeeper: ofrece una infraestructura centralizada y de servicios que pueden ser utilizados por aplicaciones para asegurirar de que los procesos a través del clúster sean serializados o sincronizados https://zookeeper.apache.org/
  29. 29. HERRAMIENTAS. SEGURIDAD @juanjodomenech • Protección de datos: - SSL/TLS: cuidado con las versiones antiguas de OpenSSL -> http://heartbleed.com/ - SASL: es un framework para autenticación y autorización en protocolos de Internet • Autenticación: - Apache Knox: proporciona un punto de acceso único (SSO) para todas las intereacciones REST y HTTP dentro con los clusters Hadoop. - LDAP - Active Directory - Kerberos: basado en SSO usa el concepto de tickets • Autorización: - Apache Ranger: ofrece un enfoque integral de seguridad en Hadoop. Proporciona una plataforma centralizada para definir,a dminsitrar y manejar las políticas de seguridad https://ranger.apache.org/ - Apache Sentry: módlulo de autorización basada en roles a nivel granular para Hadoop https://sentry.apache.org/
  30. 30. PROVEEDORES
  31. 31. PATRONES @juanjodomenech
  32. 32. @juanjodomenech https://interset.com
  33. 33. @juanjodomenech
  34. 34. @juanjodomenechhttp://www.computepatterns.com/433/big-data-architecture-patterns/
  35. 35. REFERENCIAS @juanjodomenech • Big Data. Análisis de grandes volúmenes de datos en organizaciones. Luis Joyanes Aguilar. Editorial Alfaomega. • Apache Software Foundation https://projects.apache.org/ • Apache Big Data category: https://projects.apache.org/projects.html?category • Compute Patterns http://www.computepatterns.com/ • PDF ”Introducción a las bases de datos RDF” http://renzoangles.net/files/libro.pdf • Amazon Web Services https://aws.amazon.com/ • Google Cloud https://cloud.google.com/
  36. 36. DUDAS Y PREGUNTAS @juanjodomenech
  37. 37. ¡GRACIAS! @juanjodomenech

Notas del editor

  • IBM Añade la 4ª V de veracidad
    Se expande a 5V de forma generalizada con Valor.
    Dentro de la variedad están: estructurados (relacionales), no estructurados (sms, audios, vídeos) y semi-estructurados (logs, xml, json, html).
  • IBM Añade la 4ª V de veracidad
    Se expande a 5V de forma generalizada con Valor.
    Dentro de la variedad están: estructurados (relacionales), no estructurados (sms, audios, vídeos) y semi-estructurados (logs, xml, json, html).
  • Avro – para la serialización de datos
    Cassandra - BD NoSQL sin punto de fallos
    Chukwa – un sistema de colecciones de datos para la ingestión de grandes sistemas distribuidos
    Hbase – BD distribuida y escalable que soporta almacenamiento de datos estrcuturados para tablas grandes
    Hive – una infraestructura de almacén de datos que proporciona la lectura, escritura y gestión de datos y las consultas ad-hoc usando SQL
    Mahout – una máquina escalable de aprendizaje y una biblioteca de minería de datos
    Pig – lenguaje de alto nivel y framework para la computación paralela
    Zookeeper - un servicio de coordinación de alto rendimiento para aplicaciones distribuidas

×