Big Data - Conceptos, herramientas y patrones

Information about Big Data - Conceptos, herramientas y patrones

Published on February 26, 2018

Author: jjdoms

Source: slideshare.net

Content

1. BIG DATA Conceptos, tecnologías y patrones @juanjodomenech

2. #WHOAMI @juanjodomenech Juan José Domenech

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. ¿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. CARACTERÍSTICAS. MODELO DE LAS 3V @juanjodomenech

6. CARACTERÍSTICAS. MODELO DE LAS 3V 5V (I) @juanjodomenech

7. CARACTERÍSTICAS. MODELO DE LAS 3V 5V (II) @juanjodomenech

8. FUENTES DE LOS DATOS @juanjodomenech

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. 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. 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. 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. @juanjodomenech Arquitectura + Gobierno

14. (ALGUNAS) HERRAMIENTAS @juanjodomenech

15. @juanjodomenech

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. HERRAMIENTAS. HADOOP. MAPREDUCE @juanjodomenech • Ejemplo e introducción: https://www.tutorialspoint.co m/map_reduce/map_reduce_i ntroduction.htm

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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. PROVEEDORES

31. PATRONES @juanjodomenech

32. @juanjodomenech https://interset.com

33. @juanjodomenech

34. @juanjodomenechhttp://www.computepatterns.com/433/big-data-architecture-patterns/

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. DUDAS Y PREGUNTAS @juanjodomenech

37. ¡GRACIAS! @juanjodomenech

#whoami presentations

Zer 0 no zer(0 day)   dragon jar
25. 09. 2020
0 views

Zer 0 no zer(0 day) dragon jar

Related presentations


Other presentations created by jjdoms