Red Hot Cyber

La ciberseguridad se comparte. Reconozca el riesgo, combátalo, comparta sus experiencias y anime a otros a hacerlo mejor que usted.
Buscar
Red Hot Cyber Academy

Datos abiertos y Big Data: Gestión de datos y una comparación entre Hadoop y Spark

Antonino Battaglia : 3 septiembre 2025 07:39

Hoy en día, para todas las grandes empresas, los datos representan un recurso estratégico de vital importancia. Gracias a la información obtenida, es posible establecer estrategias de toma de decisiones que, en todos los sectores, pueden mejorar las operaciones y los beneficios de la empresa. Consideraciones similares pueden plantearse en la Administración Pública, donde los datos no solo representan una herramienta para mejorar la eficiencia interna y los procesos de toma de decisiones, sino que, si se ponen a disposición de la comunidad, pueden generar valor social y económico.

Aunque con diferentes métodos y propósitos, en este contexto surgen dos fenómenos fundamentales, unidos por la necesidad de gestionar grandes cantidades de información: los Datos Abiertos y el Big Data. Como todas las tecnologías que deben gestionar una gran cantidad y variedad de datos, deben garantizar la seguridad, integridad y disponibilidad de la información. Básicamente, cuando hablamos de Datos Abiertos, nos referimos a información pública, donde los datos se presentan en un formato abierto, estandarizado y de libre acceso, sin derechos de autor.

Dada la naturaleza abierta de los datos, serán compatibles con diferentes tecnologías y contarán con formatos de datos abiertos e interoperables, como CSV o JSON, aprovechando las API para acceder a los conjuntos de datos o el uso de Datos Abiertos Vinculados (Linked Open Data). Analicemos los Datos Abiertos Vinculados (Linked Open Data), que aprovechan las tecnologías semánticas para estructurar los datos, lo que permite una comprensión más profunda del significado y el contexto de la información. Fundamentalmente, este enfoque se basa en principios fundamentales. El uso de URI (Identificadores Uniformes de Recursos) identifica de forma única cada recurso, y los datos deben estar interconectados mediante enlaces que permitan la navegación entre ellos.

Para garantizar la correcta interpretación de la información, se utilizan diversos estándares, entre ellos, sin entrar en detalles, RDF (Marco de Descripción de Recursos), que permite la representación estructurada de la información en la web, y OWL (Lenguaje de Ontología Web), que define las relaciones entre los datos, facilitando su comprensión.

Los Datos Abiertos se enfrentarán a diversos desafíos, principalmente la calidad de los datos, que a menudo es incompleta o está desactualizada. Además, la mera publicación de datos (en el caso de los servicios ofrecidos por la administración pública) no garantiza necesariamente su uso por parte de la ciudadanía. Asimismo, dada la naturaleza de los datos, a menudo se refieren a personas físicas, por lo que deben respetar y proteger su privacidad. Sin embargo, la formación y la concienciación pública sobre la importancia y el uso de los datos abiertos pueden contribuir fundamentalmente a una mayor participación y a un uso más eficaz de la información disponible.

Cuando los datos no son necesariamente públicos y requieren tecnología capaz de gestionar grandes cantidades, a menudo en formato bruto, podemos hablar de Big Data. Comúnmente, se hace referencia a las 5 V: volumen (gran volumen de datos), velocidad (alta velocidad de operación), variedad (variedad de datos), veracidad (veracidad de la fuente de datos) y valor (valor de los datos, vinculado al interés del sujeto).

Entre las tecnologías más importantes en el contexto de la infraestructura de Big Data, encontramos:

  • Base de datos NoSQL
  • Hadoop
  • Apache Spark

Sin pretender ser exhaustivos, intentaremos ofrecer algunas ideas sobre las diferencias entre las distintas tecnologías. Desde una perspectiva de eficiencia, NoSQL, a diferencia de las bases de datos relacionales, no está estructurado. En estos sistemas, las limitaciones de la estructura relacional se compensan con operaciones más rápidas y dinámicas. Estas bases de datos se basan en el concepto de tecnología distribuida, donde los datos pueden almacenarse en múltiples nodos de procesamiento. Ya no tendremos un modelo basado en transacciones, sino uno basado en la flexibilidad de los datos.

El almacenamiento de datos dentro de estas tecnologías puede desarrollarse utilizando varios modelos. Entre los modelos utilizados se encuentra el modelo Clave/Valor, según el cual los objetos se almacenan en estructuras llamadas contenedores en forma de lista clave-valor. Otro modelo utilizado es el modelo Documento, mediante el cual los objetos se guardan dentro de documentos con una estructura similar a la de la Programación Orientada a Objetos (OO).

La principal ventaja del modelo Documento es su alta compatibilidad con los sistemas actuales, incluyendo MongoDB. Un último modelo es el modelo Columnar, en el que los datos se organizan en columnas en lugar de filas. En la práctica, aunque el concepto presenta un cambio que puede parecer meramente formal, mejora la distribución dentro del espacio de almacenamiento.

Mencionamos MongoDB, una base de datos orientada a documentos diseñada para gestionar grandes volúmenes de datos no estructurados o semiestructurados. MongoDB utiliza la representación binaria BSON (JSON binario), que permite el uso de datos de colecciones homogéneas o no homogéneas. Estos documentos, a su vez, se organizan en colecciones, dentro de las cuales se pueden implementar índices para mejorar el rendimiento.

Recuerde que, hasta la fecha, Apache Hadoop es uno de los frameworks más utilizados para la gestión y el archivado de grandes cantidades de datos. Su principal característica es su capacidad para descomponer grandes problemas en elementos más pequeños, dividiendo grandes cantidades de datos en fragmentos más pequeños y manejables. Arquitectónicamente, Hadoop se basa en el principio de que las fallas deben gestionarse a nivel de aplicación y utiliza clústeres de servidores o servidores virtuales para su implementación.

Hadoop se compone principalmente de dos componentes fundamentales:

  • Sistema de archivos distribuidos de Hadoop (HDFS): Un sistema de archivos distribuido diseñado para almacenar de forma fiable grandes cantidades de datos y proporcionar acceso de alta velocidad.
  • MapReduce: Un modelo de programación para procesar grandes conjuntos de datos en paralelo en un clúster de computadoras.

El primer módulo es el Sistema de Archivos Distribuidos Hadoop (HDFS), un sistema de archivos distribuido que almacena datos en hardware estándar y proporciona un ancho de banda agregado muy alto. Un sistema de archivos distribuido es necesario cuando la cantidad de datos a almacenar puede superar la capacidad de una sola máquina. Por lo tanto, es necesario particionar los datos en varias máquinas, proporcionando mecanismos de recuperación en caso de fallo de la máquina. En comparación con los sistemas de archivos normales, los distribuidos requieren comunicación en red y son más complejos de desarrollar.

HDFS tiene una arquitectura maestro/esclavo. Dentro de un clúster, habrá un único nodo maestro (NodeName), un servidor que gestiona el espacio de nombres del sistema de archivos y el acceso de los clientes. Los archivos se almacenan por separado en DataNodes, normalmente uno por nodo del clúster. Internamente, un archivo se divide en uno o más bloques, que se almacenan en un conjunto de DataNodes.

El segundo módulo es MapReduce, un modelo de programación para procesar grandes cantidades de datos, diseñado para permitir la realización de cálculos en paralelo. Se basa en el principio de «divide y vencerás», según el cual un problema grande se divide en problemas independientes que pueden resolverse en paralelo. En esencia, el componente Map genera varios pares clave-valor, mientras que el componente Reduce los agrega en múltiples pares.

Además de los dos módulos descritos, también podemos destacar la presencia de los módulos YARN y COMMON. YARN es el administrador de recursos del clúster y organiza las tareas de datos, mientras que COMMON contiene las bibliotecas necesarias para la ejecución de los módulos.

Desarrollado a partir de Hadoop, Apache Spark cuenta con características específicas diseñadas para ofrecer la velocidad computacional, la escalabilidad y la programabilidad necesarias para el big data, en particular para datos en streaming, datos de grafos, análisis y aprendizaje automático. A diferencia de Hadoop, Spark permite consultas rápidas y optimizadas aprovechando su procesamiento en caché. La escalabilidad se logra dividiendo los flujos de trabajo de procesamiento entre grandes clústeres de computadoras.

Spark presenta una arquitectura jerárquica de nodos primarios y secundarios. El nodo primario, denominado controlador, controla los nodos secundarios, administra el clúster y proporciona datos al cliente de la aplicación. El programa principal de una aplicación Spark (el programa controlador) contiene un objeto SparkContext, cuya instancia se comunica con el administrador de recursos del clúster para solicitar un conjunto de recursos (RAM, núcleos, etc.) para los ejecutores.

Un aspecto clave de las tareas de Spark es la creación de conjuntos de datos distribuidos, conocidos como Conjuntos de Datos Distribuidos Resilientes (RDD). Los RDD son resilientes (y, por lo tanto, reconstruibles en caso de fallo), inmutables (cada operación crea un nuevo RDD) y particionables para permitir el procesamiento en paralelo. Spark carga datos referenciando una fuente de datos o paralelizando una colección existente mediante el método de paralelización de SparkContext para almacenar los datos en un RDD para su procesamiento. Una vez cargados los datos en un RDD, Spark realiza transformaciones y acciones sobre ellos en memoria, lo cual es clave para la velocidad de Spark. Spark también almacena datos en memoria a menos que el sistema se quede sin memoria o el usuario opte por escribir los datos en el disco para su conservación.

Cada conjunto de datos de un RDD se divide en particiones lógicas, que pueden calcularse en diferentes nodos del clúster. Los usuarios pueden realizar dos tipos de operaciones en los RDD: transformaciones y acciones. Las transformaciones son operaciones que se aplican para crear un nuevo RDD, mientras que las acciones se utilizan para indicar a Apache Spark que aplique el cálculo y devuelva el resultado al controlador.

Una característica operativa de Spark es el grafo acíclico dirigido (DAG). A diferencia del proceso de ejecución de MapReduce en dos partes de Hadoop, se crea un grafo para orquestar y programar los nodos de trabajo dentro del clúster. Esta característica es atractiva porque cualquier fallo o error puede resolverse considerando las operaciones de datos registradas en un estado anterior. En el núcleo del procesamiento de datos paralelos se encuentra el módulo Spark Core, que gestiona la programación y la optimización. Proporciona funcionalidades esenciales para las bibliotecas Spark y el procesamiento de datos de grafos GraphX.

«Spark vs. Hadoop» es un término frecuente en la web, pero, como se mencionó anteriormente, Spark es más bien una mejora de Hadoop, y más específicamente, de su componente nativo de procesamiento de datos, MapReduce. De hecho, Spark se basa en el framework MapReduce, y la mayoría de las distribuciones de Hadoop actuales lo admiten. Al igual que MapReduce, Spark permite a los programadores crear aplicaciones que procesan conjuntos de datos masivos con mayor rapidez, procesando porciones del conjunto de datos en paralelo en grandes clústeres de computadoras. Sin embargo, mientras MapReduce procesa los datos en disco, lo que añade tiempos de lectura y escritura que ralentizan el procesamiento, Spark realiza cálculos en memoria. Como resultado, Spark puede procesar datos hasta 100 veces más rápido que MapReduce.

Podemos decir que, si bien los Datos Abiertos y el Big Data son conceptualmente distintos, su integración puede generar sinergias significativas. La combinación de datos de conjuntos de datos públicos, accesibles para todos, con información heterogénea recopilada de diferentes fuentes ofrece oportunidades únicas para el análisis y la innovación. Esta combinación no solo enriquece el panorama de la información, sino que también permite el desarrollo de soluciones más efectivas y específicas que pueden abordar necesidades específicas de la sociedad y el mercado. En una era de crecimiento exponencial de los datos, la capacidad de integrar y analizar estos recursos se vuelve crucial para tomar decisiones informadas y promover el progreso sostenible.

Antonino Battaglia


Lista degli articoli

Artículos destacados

16.000 millones de dólares en credenciales robadas de Apple, Meta y Google a la venta por 121.000 dólares
Di Redazione RHC - 05/09/2025

El equipo de Darklab, la comunidad de expertos en inteligencia de amenazas de Red Hot Cyber, ha identificado un anuncio en el mercado de la dark web «Tor Amazon», la contraparte criminal del popular...

Red Hot Cyber Conference 2026: Patrocinios abiertos para la quinta edición en Roma
Di Redazione RHC - 04/09/2025

La Conferencia Red Hot Cyber se ha convertido en un evento habitual para la comunidad Red Hot Cyber y para cualquier persona que trabaje o esté interesada en el mundo de las tecnologías digitales y ...

¡La IA de Hexstrike desata el caos! Días cero explotados en tiempo récord.
Di Redazione RHC - 04/09/2025

El lanzamiento de Hexstrike-AI marca un punto de inflexión en el panorama de la ciberseguridad. El framework, considerado una herramienta de última generación para equipos rojos e investigadores, e...

LockBit 5.0: ¿Señales de un nuevo y posible «renacimiento»?
Di Pietro Melillo - 03/09/2025

LockBit representa una de las bandas de ransomware más longevas y mejor estructuradas de los últimos años, con un modelo de ransomware como servicio (RaaS) que ha impactado profundamente el ecosist...

¿Hubo terror en el vuelo de Ursula von der Leyen? ¡Aclaremos las cosas!
Di Giovanni Pollola - 02/09/2025

El 31 de agosto de 2025, el vuelo AAB53G, operado por un Dassault Falcon 900LX con matrícula OO-GPE y con la presidenta de la Comisión Europea, Ursula von der Leyen, despegó de Varsovia y aterrizó...