Saltar al contenido principal
Página

Tema 2.1 - Arquitecturas de Big Data

Objetivos del Aprendizaje

● Apreciar la variedad de arquitecturas para el ecosistema de Big Data.

● Apreciar las numerosas capas de tecnologías en la arquitectura de Big Data.

● Aprender cómo las organizaciones líderes están diseñando la arquitectura de las soluciones de Big Data.


Introducción a la Arquitectura de Big Data

Arquitectura de referencia de Big Data del NIST

Funciones de la arquitectura de referencia de Big Data del NIST:

● Almacenamiento y procesamiento de datos distribuidos.

● Análisis de datos tradicional - almacenamiento y procesamiento local.

● Entornos de Big Data - almacenamiento y procesamiento de datos distribuidos.

● Almacenamiento de Big Data.

● Sistemas de almacenamiento para datos masivos.

● Componentes del almacenamiento distribuido.


Arquitectura de análisis de Big Data

Hadoop open-source software framework:

Comprender los fundamentos de la arquitectura de Big Data ayudará a los ingenieros de sistemas, científicos de datos, desarrolladores de software, arquitectos de datos y responsables de la toma de decisiones de alto nivel a comprender cómo se combinan los componentes de Big Data y a desarrollar o crear soluciones de Big Data.


Arquitectura de Referencia de Big Data NIST


Arquitectura de referencia:

  • Documento o conjunto de documentos a los que un director de proyecto u otra parte interesada puede remitirse para conocer las mejores prácticas.
  • Puede utilizarse para seleccionar el mejor método de entrega para determinadas tecnologías y documenta aspectos como el hardware, el software, los procesos, las especificaciones y las configuraciones, así como los componentes lógicos y las interrelaciones.
  • Puede considerarse un recurso que documenta las experiencias de aprendizaje obtenidas en proyectos anteriores.


Objetivo de la Arquitectura de Referencia

  • El objetivo de una arquitectura de referencias es crear una norma abierta, una que toda organización pueda usar para su beneficio.
  • EL Instituto Nacional de Normas y Tecnologías (NIST, por sus siglas en inglés) – una de las organizaciones líderes en el desarrollo de normas – ha desarrollado tal arquitectura de referencia: La arquitectura de referencia de Big Data NIST.


Ventajas de Utilizar una Arquitectura de Referencia de Big Data “Abierta"

Las ventajas de utilizar una arquitectura de referencia de Big Data "abierta" incluyen:

1. Proporciona un lenguaje común para las distintas partes interesadas.

2. Fomenta la adhesión a normas, especificaciones y patrones comunes.

3. Proporciona métodos coherentes para la implementación de la tecnología para resolver conjuntos de problemas similares.

4. Ilustra y mejora la comprensión de los diversos componentes, procesos y sistemas de Big Data, en el contexto de un modelo conceptual de Big Data independiente del proveedor y de la tecnología.

5. Facilita el análisis de los estándares candidatos para la interoperabilidad, la portabilidad, la reutilización y la extensibilidad.


Arquitectura de Referencia de Big Data NIST

Es un enfoque neutral en cuanto a proveedores y puede ser utilizada por cualquier organización que pretenda desarrollar una arquitectura de Big Data, está organizada en torno a cinco roles principales y múltiples sub-roles, se alinea a lo largo de dos ejes que representan las dos cadenas de valor de Big Data:

1. El valor de la información (eje horizontal).

2. La tecnología de la información (TI; eje vertical).


  • Eje del Valor de la Información: El valor se crea a través de la recopilación de datos, la integración, el análisis y la aplicación de los resultados siguiendo la cadena de valor.
  • Eje de la tecnología de la información: el valor se crea mediante el suministro de redes, infraestructuras, plataformas, herramientas de aplicación y otros servicios de tecnología de la información para el alojamiento y el funcionamiento de los Big Data en apoyo de las aplicaciones de datos necesarias.
  • Nota: En la intersección de ambos ejes, se encuentra el papel de proveedor de aplicaciones de Big Data, lo que indica que la analítica de datos y su aplicación proporcionan el valor a los interesados en Big Data en ambas cadenas de valor.


Arquitectura de Referencia de Big Data Propuesta por NIST (Representación Gráfica)



Figura 18 : Arquitectura de referencia de Big Data del NIST


Roles de la Arquitectura de Referencia de Big Data NIST

Los cinco roles principales de la Arquitectura de Referencia de Big Data del NIST: La Arquitectura de Referencia de Big Data del NIST representan los componentes lógicos o roles de todo entorno de Big Data, y están presentes en toda empresa:

1. Orquestador del sistema.

2. Proveedor de datos.

3. Proveedor de aplicaciones de datos.

4. Proveedor del marco de trabajo de Big Data.

5. Consumidor de datos.


  • Las dos dimensiones que se muestran en la figura: La Arquitectura de Referencia de Big Data del NIST que abarca los cinco roles principales son:

1. Gestión.

2. Seguridad y privacidad.


Orquestador de Sistemas:

● La orquestación de sistemas es la disposición, coordinación y gestión automatizada de sistemas informáticos, middleware y servicios. La orquestación garantiza que las diferentes aplicaciones, datos y componentes de infraestructura de los entornos de Big Data funcionen juntos.

● Para lograrlo, el orquestador de sistemas hace uso de flujos de trabajo, automatización y procesos de gestión de cambios.

● Un entorno de TI de Big Data consiste en una colección de muchas aplicaciones, datos y componentes de infraestructura diferentes.

● El Orquestador del Sistema se encarga de que todos estos componentes funcionen juntos y de forma sincronizada.


Data Provider:

● El rol de proveedor de datos introduce nuevos datos o fuentes de información en el sistema de Big Data para su descubrimiento, acceso y transformación por parte del sistema de Big Data.

● Los datos pueden proceder de distintas fuentes, como datos generados por el hombre (redes sociales), datos sensoriales (etiquetas RFID) o sistemas de terceros (transacciones bancarias).

● Como se muestra en la figura: La arquitectura de referencia de Big Data del NIST los datos se transfieren entre el proveedor de datos y el proveedor de aplicaciones de Big Data.

● Esta transferencia de datos suele producirse en tres fases: inicio, transferencia de datos y finalización.

● La fase de iniciación es iniciada por cualquiera de las dos partes y a menudo incluye algún nivel de autenticación.

● La fase de transferencia de datos empuja los datos hacia el proveedor de aplicaciones de Big Data.

● La fase de terminación comprueba si la transferencia de datos ha sido exitosa y registra el intercambio de datos.


Proveedor de aplicaciones de Big Data:

● El proveedor de aplicaciones de Big Data es el componente de la arquitectura que contiene la lógica empresarial y la funcionalidad necesaria para transformar los datos en los resultados deseados.

● El objetivo común de este componente es extraer valor de los datos de entrada, e incluye las siguientes actividades:

  1.  Recolección.
  2.  Preparación.
  3.  Análisis.
  4.  Visualización.
  5.  Acceso.
 Componente del proveedor de aplicaciones utilizado:

● En el caso de las empresas financieras, las aplicaciones pueden incluir software de detección de fraudes, aplicaciones de puntuación de crédito o software de autenticación.

● En las empresas de producción, los componentes proveedores de aplicaciones de Big Data pueden ser software de gestión de inventarios, de optimización de la cadena de suministro o de optimización de rutas.

● El proveedor del marco de trabajo de Big Data tiene los recursos y servicios que pueden ser utilizados por el proveedor de aplicaciones de Big Data y proporciona la infraestructura central de la arquitectura de Big Data.

● En este componente, los datos se almacenan y procesan basándose en diseños optimizados para entornos de Big Data.


El proveedor de la estructura de Big Data puede subdividirse en las siguientes sub-funciones:

Infraestructura: la capa de infraestructura se ocupa de las necesidades de red, computación y almacenamiento para asegurar que los grandes y diversos formatos de datos puedan ser, almacenados y transferidos de una manera costo-eficiencia, segura y escalable.

Plataformas: la capa de la plataforma es el conjunto de funciones que facilita el procesamiento de datos de alto rendimiento. La plataforma incluye las capacidades para integrar, gestionar y aplicar trabajos de procesamiento a los datos.

Procesamiento: computación y analítica: La capa de procesamiento del proveedor del marco de trabajo de Big Data ofrece la funcionalidad para consultar los datos. A través de esta capa se ejecutan comandos que realizan operaciones en tiempo de ejecución sobre los conjuntos de datos.

Consumidor de datos:

● El papel del consumidor de datos dentro de la arquitectura de referencia de Big Data puede ser un usuario final real u otro sistema, en muchos sentidos, este papel es la imagen de espejo del proveedor de datos.

● Las actividades asociadas al rol de Consumidor de Datos incluyen las siguientes:

● Buscar y recuperar.

● Descargar.

● Analizar localmente.

● Elaboración de informes.

● Visualización.

● Datos para utilizar en sus propios procesos.

● El consumidor de datos utiliza las interfaces o servicios proporcionados por el proveedor de aplicaciones de Big Data para acceder a la información de interés.


Almacenamiento y Procesamiento de Datos Distribuidos

Análisis de datos tradicional: almacenamiento y procesamiento local.

El análisis de datos tradicional, tal y como lo realizan millones de organizaciones cada día, tiene un diseño sencillo y estático.

● La mayoría de las empresas crean datos estructurados con modelos de datos estables a través de diversas aplicaciones empresariales, como CRM, ERP y varios sistemas financieros.

● Posteriormente, varias herramientas de integración de datos utilizan operaciones de extracción, transformación y carga (ETL) para cargar los datos de estas aplicaciones empresariales en un almacén de datos centralizado.

● En el almacén de datos, los distintos datos (procedentes de las distintas aplicaciones) se almacenan ordenadamente en bases de datos con filas y columnas estructuradas (como una gran hoja de Excel).

● Gracias a esta estructuración, una herramienta de análisis de Business Intelligence (por ejemplo, SAP Business Objects o IBM Cognos) puede realizar consultas e informes que proporcionen la información solicitada.

● Los volúmenes de datos en los almacenes de datos rara vez superan varios terabytes, ya que los grandes volúmenes de datos degradan el rendimiento.


Análisis Tradicional de Datos (Representación Gráfica)

Figura 19: análisis tradicional de datos, reimpreso de Kumar y Pandey, 2014


Arquitectura de Big Data

● Las características de volumen y variedad diferencian a los Big Data del análisis de datos tradicional.

● Para hacer frente al tamaño (volumen) y a la disparidad (variedad) de estos datos, es necesaria una arquitectura diferente que garantice el mantenimiento de los niveles de rendimiento y que el procesamiento de Big Data aporte un valor real a la empresa.

 

Para lograr estos objetivos, las arquitecturas de Big Data suelen adherirse a los siguientes cuatro principios básicos de diseño:

1. El uso de nodos de hardware básicos para permitir el escalamiento.

2. El uso de almacenamiento distribuido para almacenar datos estructurados, no estructurados o semi- estructurados.

3. El uso de técnicas de procesamiento distribuido para permitir el procesamiento en paralelo.

4. El uso de tecnología avanzada de análisis y visualización.


Arquitectura de Big Data (Representación Gráfica)

Figura 20: Entornos Big Data


Almacenamiento de Big Data

● El almacenamiento de Big Data se refiere al almacenamiento y la gestión de conjuntos de datos a gran escala, logrando al mismo tiempo la fiabilidad y la disponibilidad del acceso a los datos.

● Los conjuntos de datos a gran escala tienen un impacto diferente en el diseño de los sistemas de almacenamiento, así como en los mecanismos de almacenamiento.

Entornos tradicionales de análisis de datos: 

El almacenamiento de datos que se utiliza para guardar y recuperar los datos de los sistemas de CRM, ERP o financieros son sistemas de gestión de bases de datos relacionales (RDBMS) estructurados. Sin embargo, debido a la naturaleza no estructurada de Big Data, se requieren sistemas de almacenamiento diferentes.

Entorno Big Data: En entorno Big Data es un tema complejo debido a dos fuerzas opuestas que se aplican.

    1. La infraestructura de almacenamiento debe proporcionar un espacio de almacenamiento de información fiable.
    2. Debe proporcionar una potente interfaz de acceso para la consulta y el análisis de conjuntos de Big Data.


Sistemas de almacenamiento para datos masivos: Existen varios sistemas de almacenamiento para satisfacer la demanda de datos masivos, las tecnologías existentes pueden clasificarse en almacenamiento directo (DAS) y almacenamiento en red.

El almacenamiento directo (DAS): es un almacenamiento digital conectado directamente al ordenador que accede a él, a diferencia del almacenamiento al que se accede a través de una red informática. Algunos ejemplos de DAS son los discos duros, las unidades de estado sólido, las unidades de disco óptico y el almacenamiento en unidades externas.

El almacenamiento en red puede subdividirse: en almacenamiento conectado a la red (NAS) y redes de área de almacenamiento (SAN).

●El almacenamiento conectado a la red (NAS): es un servidor de almacenamiento de datos informáticos a nivel de archivo conectado a una red informática que proporciona acceso a los datos a un grupo heterogéneo de clientes. El NAS está especializado en servir archivos, ya sea por su hardware, software o configuración; suele fabricarse como un dispositivo informático, un ordenador especializado construido a tal efecto.

●La red de área de almacenamiento (SAN) es una red que proporciona acceso a un almacenamiento de datos consolidado a nivel de bloque, las SAN se utilizan principalmente para mejorar los dispositivos de almacenamiento, como las matrices de discos, las bibliotecas de cintas y las máquinas de discos ópticos, accesibles a los servidores, de modo que los dispositivos aparezcan ante el sistema operativo como dispositivos conectados localmente.

Componentes del almacenamiento distribuido: El sistema de almacenamiento distribuido utiliza redes informáticas para almacenar información en más de un nodo, a menudo de forma replicada.


Los componentes del almacenamiento distribuido para Big Data pueden clasificarse en tres niveles ascendentes:

● Sistemas de archivos: Un sistema de archivos se utiliza para controlar cómo se almacenan y recuperan los datos. Sin un sistema de archivos, la información colocada en un medio de almacenamiento sería un gran cuerpo de datos sin forma de decir dónde termina una pieza de información y dónde comienza la siguiente. Al separar los datos en trozos y dar un nombre a cada uno de ellos, la información se puede aislar e identificar fácilmente, tomando su nombre de la forma en que se denominan los sistemas de información en papel, cada grupo de datos se llama "archivo".

Ejemplo: Los sistemas de archivos importantes en Big Data son el Sistema de Archivos de Google (GFS) y el Sistema de Archivos Distribuidos de Hadoop (HDFS), ambos sistemas de archivos distribuidos ampliables.


Bases de datos:

● Las bases de datos relacionales tradicionales (RDBS) no pueden hacer frente a los retos en cuanto a categorías y escalas que requiere el Big Data. Por esta razón, las bases de datos NoSQL son cada vez más populares como tecnología central para el almacenamiento de Big Data.

● Las bases de datos NoSQL proporcionan un mecanismo para el almacenamiento y la recuperación de datos que se modelan en medios distintos a las relaciones tabulares utilizadas en las bases de datos relacionales. Los sistemas NoSQL también se denominan a veces "No sólo SQL" para enfatizar que pueden soportar lenguajes de consulta similares a SQL.

Algunos ejemplos de bases de datos NoSQL son DynamoDB (Amazon), Voldemort (LinkedIN), BigTable (Google), Cassandra (Facebook), Azure DB (Microsoft), HBase (código abierto) y MongoDB (código abierto).


Modelos de programación:

● Los Big Data se almacenan generalmente en cientos o miles de servidores comerciales. Para acceder a los datos almacenados en estos servidores, se han desarrollado modelos de programación en paralelo que aumentan el rendimiento de las bases de datos NoSQL.

Ejemplos: Los ejemplos más importantes en Big Data son MapReduce (del que se hablará en la sección 4.7), Dryad (utilizado por Microsoft) y Pregel (utilizado por Google).


Arquitectura de Análisis de Big Data

Para procesar grandes volúmenes de datos, se pueden diseñar diferentes arquitecturas para el análisis de Big Data, la distinción más importante (desde el punto de vista de la arquitectura) es la diferencia entre el análisis en tiempo real y el análisis offline:

Análisis en tiempo real: El análisis en tiempo real se utiliza sobre todo en aplicaciones de comercio electrónico y de finanzas, donde los cambios en los datos deben procesarse de forma inminente, dado que los datos cambian constantemente, se necesitan resultados actualizados en tiempo real, el análisis de las transacciones con tarjetas de crédito, por ejemplo, requeriría este tipo de arquitectura.

● Las principales arquitecturas existentes de análisis en tiempo real incluyen clusters de procesamiento paralelo que utilizan bases de datos relacionales tradicionales y plataformas informáticas basadas en la memoria.

Algunos ejemplos de capacidad de procesamiento en tiempo real son Greenplum (EMC) y SAP HANA

● Análisis de Offline: El análisis Offline se utiliza para aplicaciones que son menos sensibles al tiempo y para las que el valor de los datos en tiempo real es menos urgente, el procesamiento offline (también conocido como procesamiento por lotes) importa los datos en tiempos establecidos y los procesa posteriormente en intervalos de tiempo. La mayoría de las empresas utilizan la arquitectura de análisis offline basada en Hadoop para reducir costes y mejorar la efficiencia del procesamiento de datos.

Algunos ejemplos: de herramientas de análisis offline son Scribe (Facebook), Kafka (LinkedIN), TimeTunnel (Tabao) y Chukwa (Hadoop open source).


Marco de Software de Código Abierto Hadoop

● Hadoop: es un marco de programación de código abierto basado en Java que soporta el procesamiento y almacenamiento de conjuntos de datos extremadamente grandes en un entorno informático distribuido

● Forma parte del proyecto Apache, patrocinado por la Apache Software Foundation

● El principal beneficio del marco de software Hadoop es que incorpora los cuatro principios de diseño de una arquitectura de Big Data:

1. Hadoop Distributed File System (HDFS)

2. NameNode

3. MapReduce

4. Slave Node

Sistema de archivos distribuidos de Hadoop (HDFS):

● El sistema de archivos distribuidos de Hadoop (HDFS) es el sistema de archivos que permite almacenar estas partes de datos en diferentes máquinas (hardware básico) de un clúster. Por tanto, HDFS permite el almacenamiento distribuido.

● Una de las principales propiedades de HDFS es que cada una de las partes de los datos se replica varias veces y se distribuye entre varios nodos del clúster, si un nodo falla, otro nodo tiene una copia de ese paquete de datos específico que puede utilizarse para el procesamiento.

NameNode:

● El NameNode es la pieza central de un sistema de archivos HDFS.

● Mantiene el árbol de directorios de todos los archivos en el sistema de archivos y rastrea dónde se guardan los datos de los archivos en el clúster.

● No almacena los datos de estos archivos por sí mismo.

● Actúa como un facilitador que comunica dónde se almacenan las partes de los datos y si están disponibles.

MapReduce: El marco MapReduce asegura que estas tareas se completen al permitir el procesamiento distribuido paralelo de las partes de datos a través de los múltiples nodos del clúster.

La primera operación del marco MapReduce es realizar un procedimiento "Map". Uno de los nodos del clúster solicita el procedimiento Map, normalmente en forma de consulta Java ̶ para procesar algunos datos.

La segunda operación del marco MapReduce es ejecutar el método "Reduce". Esta operación tiene lugar después del procesamiento. Cuando se ejecuta el trabajo "Reduce", el rastreador de trabajos localizará los resultados locales (del procedimiento Map) y agregará estos componentes juntos en un único resultado final y la respuesta cargada en el entorno de visualización.

El Job Tracker - introducido en la sección MapReduce ̶ es el nodo del cluster que inicia y coordina los trabajos de procesamiento. Además, el Job Tracker invoca el procedimiento Map y el método Reduce.

Slave Node: Los Nodos Esclavos son los nodos del clúster que siguen las indicaciones del Job Tacker. A diferencia del NameNode, los Slave Node no hacen un seguimiento de la ubicación de los datos.


Pasos de las Operaciones MapReduce

Figura 21: Las operaciones de MapReduce


Arquitectura Google Query


Ecosistema / Arquitectura de Big Data


Capas en la Arquitectura de Big Data

● Fuentes de datos - P2P, P2M, comunicación M2M, Biz ops

● Ingesta de datos - Apache Kafka

● Análisis de streaming - Apache Spark

● Análisis por lotes - Apache MapReduce

● Capa de organización de datos, NoSQL - Apache HBase

● Capa de sistema de archivos distribuidos - HDFS

● Capa de infraestructura - Cloud computing

● Capa de consumo de datos - Data Mining, etc


Arquitectura IBM Watson

Analítica en el contexto del Big Data DeepQA: La arquitectura subyacente a Watson

Genera muchas hipótesis, recoge un amplio abanico de pruebas, equilibra las confidencias combinadas de más de 100 análisis diferentes que analizan las pruebas desde distintas dimensiones.

Cada año, la UE selecciona las capitales de la cultura; una de las ciudades de 2010 fue este "lugar de encuentro de culturas" turco.


Arquitectura Netflix



Arquitectura VMWare


Arquitectura de una Compañía Metereológica


Compañía metereológica:

Los volúmenes de datos meteorológicos ¡están creciendo!

● 30.000 millones de solicitudes de API al dí.

● 120 millones de usuarios móviles activos

● #La 3ª base de usuarios móviles más activa

● ~ 360 PB de tráfico diario

● Miles de millones de eventos al día (~ 1,3 millones por segundo)

● Conservar los datos para siempre


El caso de uso:

● Análisis eficiente por lotes y en flujo

● Ciencia de datos de autoservicio

● Soporte de herramientas de BI / visualización


Arquitectura Ticketmaster

Disponibilidad de datos de Ticketmaster Si el activo son los datos únicos, hay que recopilar más de forma escalable.

● Un problema difícil con los datos operativos en tiempo real es la idempotencia.

● La idempotencia de extremo a extremo es el santo grial de la disponibilidad de datos.



     ● Nada exótico

     ● Primero operacional

     ● Consistencia entre 

         aplicaciones

     ● Eliminar el ETL

     ● Reducir el QA


Ticketmaster:

     ● Entradas

     ● Transacciones

     ● Compromiso del usuario

     ● Acceso al evento



Arquitectura LinkedIn



Arquitectura PayPal



Ecosistema Hadoop


Preguntas de Repaso

1. Describa la arquitectura de procesamiento de Big Data

2. ¿Cuáles son las aportaciones de Google al procesamiento de Big Data?

3. ¿Cuáles son algunas de las tecnologías más punteras visibles en el procesamiento de Big Data?


Ejercicio del caso Liberty Stores: Paso B3

Liberty quiere construir una plataforma de escucha escalable y futurista para entender a sus clientes y otras partes interesadas.

1. ¿Qué tipo de arquitectura de Big Data sugeriría para esta empresa?

Última modificación: lunes, 28 de marzo de 2022, 16:20