Want to make creations as awesome as this one?

Transcript

Empezar

Modelos y arquitecturas para Big Data

Oscar Manuel Lugo Chalup, 222959247
¿Qué es una Arquitectura?
Módulos y Características Principales
Lambda
Kappa
Hadoop
MapReduce
Arquitecturas de Big Data

Índice

Casos de Aplicación

¿Qué es una arquitectura?

En informática , una arquitectura es una serie de lineamientos y un conjunto de patrones que permiten diseñar y construir una aplicación que pueda operar bajo ciertos escenarios o contextos de hardware

ARQUITECTURAS DE BIG DATA

Las arquitecturas de big data (o macrodatos) tiene como principal objetivo el análisis y procesamiento de grandes volúmenes de datos que no pueden administrarse adecuadamente con los medios convencionales, pues se superan las capacidades tradicionales del hardware para su almacenamiento, gestión y tratamiento.

módulos y características principales

Las arquitecturas se basan en la combinación de diferentes módulos, que pueden variar de acuerdo con las necesidades y requisitos de un proyecto.

Módulos de una Arquitectura de Big Data
Características Principales

Módulos

Extracción
Explotación
Visualización
Procesamiento

Los siguientes cuatro ejes están presentes dentro de cualquier tipo de arquitectura de macrodatos

características principales

Escalabilidad
Datos distribuidos
Procesamiento distribuido
Localidad de los datos
Tolerancia

lambda

En una arquitectura lambda, los datos de entrada son enviados en paralelo, tanto a un sistema de procesamiento offline como a uno online, ambas líneas de procesamiento ejecutan la misma lógica de negocio y vuelcan sus resultados en una capa de servicio. Las consultas realizadas desde sistemas de back-end se ejecutan sobre los datos disponibles en la capa de servicio, reconciliando los resultados producidos por ambas líneas de ejecución. Este enfoque permite a las organizaciones adaptar de forma incremental sus infraestructuras para dar servicio a sus aplicaciones. Una arquitectura lambda tiene tres capas principales: batch, speed y serving. (López, J. J. & Zarza, G., 2017, pp. 133-134).

kappa

La arquitectura kappa se basa en mantener dos líneas de procesamiento diferentes, una para la capa batch y otra para la capa speed. La propuesta detrás de kappa es abordar tanto el procesamiento cercano al tiempo real como el procesamiento continuo de datos, utilizando una única línea de procesamiento. Es por esto que la arquitectura kappa consta solo de dos capas: stream processing (o real-time) y serving. La capa stream processing se encarga de las ejecuciones de trabajos en general, normalmente para dar soporte al procesamiento cercano al tiempo real. El reprocesamiento de datos se realiza solamente cuando se modifica el código fuente de los procesos. Por su parte, la capa serving tiene la misma funcionalidad que en la arquitectura lambda: permitir la consulta de los resultados. Un punto importante a tener en cuenta es que la arquitectura kappa no fue pensada como un reemplazo completo de la lambda, sino como otra propuesta de arquitectura. (López, J. J. & Zarza, G., 2017, p. 136).

hadoop

Hadoop es un proyecto de código abierto de la Apache Software Foundation (ASF) y es parte fundamental del movimiento de software libre, existen varias distribuciones de Hadoop que son apoyadas comercialmente por empresas privadas, instituciones educativas y corporaciones multinacionales. La versión de Hadoop provista por la ASF se conoce comúnmente como Vanilla, por ser la versión base del software que no posee ningún tipo de personalización, en contraposición con las diferentes distribuciones que sí poseen diversos grados de personalizaciones. La principal ventaja de utilizar la versión Vanilla de Hadoop es la libertad de disponer del código fuente de las herramientas y de estudiar y modificar el comportamiento de los módulos en caso necesario, siempre que se respeten las condiciones de las correspondientes licencias de la ASF. (López, J. J. y Zarza, G., 2017. pp. 141 – 144)

Map Reduce

De acuerdo con IBM (s.f.) MapReduce es un paradigma de programación que permite una escalabilidad masiva en cientos o miles de servidores en un clúster de Hadoop, como componente de procesamiento, MapReduce es el centro de una arquitectura Hadoop. El término MapReduce se refiere a dos tareas separadas y distintas que realizan los programas; el primero es el trabajo de mapa, que toma un conjunto de datos y lo convierte en otro conjunto de datos, donde los elementos individuales se dividen en tuplas de pares clave-valor. El trabajo de reducción toma la salida de un mapa como entrada y combina esas tuplas de datos en un conjunto más pequeño de tuplas, como implica la secuencia del nombre MapReduce, el trabajo de reducción siempre se realiza después del trabajo de mapa.

Arias, E. (2022, 06 de junio). Diccionario de arquitecturas de datos. Todobi.com. https://todobi.com/diccionario-de-arquitecturas-de-datos/ Santos, M. Y., & Costa, C. (2020). Big data : Concepts, warehousing, and analytics. River Publishers. https://ebookcentral-proquestcom.wdg.biblio.udg.mx:8443/lib/wdgbiblio/detail.action?docID=6184637&query=Big+Data# IBM. (s. f.). ¿Qué es MapReduce? Consultado el 1 de julio de 2022. https://www.ibm.com/mx-es/topics/mapreduce López Murphy, J. J. & Zarza, G. (2017). La ingeniería del big data: cómo trabajar con datos. Editorial UOC. https://elibro-net.wdg.biblio.udg.mx:8443/es/lc/udg/titulos/59093 Salazar, A. (2016, 01 de noviembre). Infraestructura para Big Data. Revista Digital Universitaria. 17(11). http://www.revista.unam.mx/vol.17/num11/art77/ The Apache Software Foundation. (s. f.). Map Reduce Tutorial. Consultado el 1 de julio de 2022. https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html PandaID.com. (2019, 02 de abril). Big Data – Procesos en tiempo real. https://www.pandaid.com/big-data-procesos-en-tiempo-real/ SAS Institute Inc. (s. f). Hadoop ¿Qué es y porqué es importante? Consultado el 1 de julio de 2022. https://www.sas.com/es_mx/insights/big-data/hadoop.html

Referencias

Extracción

Involucra los procesos de recopilación, transformación y carga de la información dentro del sistema

Tolerancia

El sistema de tiene que poseer un alto nivel de disponibilidad y estabilidad, a pesar de que se presenten inconvenientes técnicos.

PROCESAMIENTO

Implica el almacenamiento de la información dentro de bases de datos estructurales y no estructurales y aplica herramientas de cómputo paralelo

explotación

Comprende el proceso de análisis de los datos, es aquí donde se crean los procesos predictivos, la clasificación y la optimización de la información

visualización

Es la etapa de diseño y síntesis de la información a través de gráficos o tableros que ponen a disposición de los usuarios finales el resumen de los datos gestionados para la toma de decisiones.

localidad de los datos

La información almacenada debe encontrarse en nodos cercanos e impedir que las transmisiones a lo largo de la red propicien latencias

Procesamiento distribuido

El tratamiento de los datos se realiza entre diferentes máquinas para mejorar los tiempos de ejecución y proporcionar escalabilidad al sistema

datos distribuidos

La información no se almacena de manera agrupada en una sola máquina, si no que se administra de manera descentralizada y se respalda a través de sus diferentes estructuras de hardware, para garantizar que esté disponible en cualquier momento y su manejo optimizado.

Escalabilidad

Debe ser capaz de aumentar el procesamiento y tamaño de almacenamiento de los datos cada vez que se requiera