Números y letras con aros de luz en una composición futurista

Dentro de la cultura del almacenamiento de datos, continuamente se están introduciendo nuevos conceptos y herramientas que mejoran procesos y capacidades.

Leer, procesar y obtener resultados implica disponer de una arquitectura múltiple de ordenadores que nos facilite y simplifique la tarea. Con esa necesidad nació Hadoop como una tecnología básica dentro del mundo del Big Data.

Se trata de un software de código abierto que en 2008 pasó a formar parte de la Fundación Apache, ampliando y creciendo en utilidad. Pero, ¿cómo surgió este framework?

¿Cómo se creó Hadoop?

En 2002, Doug Cutting y Mike Caffarella se encontraron con un gran inconveniente en el momento de avanzar con el desarrollo de un nuevo buscador llamado Lucene, y que, en ese momento estaba en plena fase de construcción.

Tenían que conseguir indexar todas las páginas de internet. El volumen era tan inmenso que con un solo ordenador no era viable y necesitaban crear una arquitectura que pudiera coordinar el reparto de trabajo, tanto de distribución de datos como de distribución de procesamientos.

En esa etapa, Google se había encontrado con las mismas necesidades, pero supo solventarlo gracias a su trabajo en el desarrollo de Google File System y posteriormente con MapReduce, fundamental a la hora de procesar grandes cantidades de datos. Esto último, agilizaba mucho los procesos ya que es un sistema de procesamiento distribuido en el que lo que se mueve es el código, no los datos.

Con la inspiración que les aportaron estas ideas, los creadores de Lucene avanzaron con su proyecto y ahí nace Hadoop. 

En el año 2006 se crea Hadoop y pronto empieza a usarse como subproducto de Lucene en Yahoo!

Hadoop llega a su madurez cuando forma parte de la Fundación Apache, aumentando su uso en Yahoo! y posteriormente llega a usarse en Facebook. A partir de ese momento empieza a popularizarse.

Sus cualidades de uso radican en la implementación en plataformas de Big Data altamente distribuidas, escalables y funcionales y que no dependan de inversión en licencias ni en hardware. 

Está escrito en lenguaje de programación Java pudiendo tener diversas aplicaciones y proyectos adicionales como el procesamiento de grandes bancos de datos estructurados y no estructurados.

¿Cuándo se usa Hadoop?

Como hemos dicho, Hadoop sirve para almacenar y procesar gran cantidad de datos de forma distribuida. Esto hace que muchas organizaciones puedan conocer el comportamiento de sus clientes que interactúan por distintos canales, bien sean redes sociales, newsletters o en sus tiendas online o físicas.

Se puede almacenar y correlacionar los datos de comportamiento de navegación en línea, así como las transacciones realizadas. Esto hace que se pueda identificar las fases de vida de un cliente pudiendo crear una base más fiel de clientes e incluso reducir los gastos de inventario.

Todo esto permite una toma de decisiones en tiempo real muy provechosa para las organizaciones y empresas. Las marcas podrán saber qué productos o servicios son más o menos satisfactorios e identificarlo en menor plazo de tiempo.

Claro está que todo depende del tipo de industria y organización y, en cualquier caso, las empresas pueden aprovechar estos datos, no solo para satisfacer las necesidades de sus clientes sino para encontrar nuevas fuentes de ingresos.

¿Cuáles son sus componentes?

Tiene dos componentes principales:

HDFS: Hadoop Distributed File System. Es la parte de almacenamiento de la arquitectura de Hadoop que sigue un formato maestro-esclavo. NameNode y DataNode son sus principales elementos.

  • NameNode mantiene y administra los DataNode registrando Metadatos sobre bloque de datos según ubicación, tamaño de los archivos, permisos, jerarquía etc… y recibe el estado e informe de bloqueo de todos los DataNodes.
  • DataNodes, aquí cada archivo se almacena en bloques con un tamaño predeterminado de 128 MB en Apache Hadoop 2.x. (64 MB en Apache Hadoop 1.x). Estos bloques de datos se distribuirán a través de todos los nodos de datos presentes en el clúster Hadoop.

MapReduce, sería el motor de trabajo, procesando datos a gran escala. Repartiendo el trabajo de grupos de datos muy grandes a subgrupos más pequeños y manejables, utilizando algoritmos informáticos.

Las ventajas de HDFS y su capacidad para distribuir sistemas radica principalmente en su alta tolerancia para almacenar y proteger los datos frente a un fallo de la parte DataNode.

Si se necesita más espacio, simplemente se pueden agregar más nodos de datos y así reequilibrar el tamaño.

Es altamente escalable, al tener capacidad de almacenar y distribuir conjuntos de datos muy grandes en muchos nodos operando en paralelo.

Resulta rentable al compartir el costo de la red y las computadoras con las que ejecuta MapReduce y por ser un software de código abierto.

En definitiva, Hadoop se ha convertido en el almacén de miles de millones de operaciones y procesamientos y su actualización es constante y monitoreada al estar recibiendo nuevos datos que no concuerdan con patrones anteriores.

Ahora que conoces más acerca de qué es Hadoop habrás podido comprobar que es algo muy importante a tener en cuenta por parte de las empresas para poder sacarle el máximo partido juntando este tipo de tecnología con los conocimientos que puede tener un data scientist.

 

Data Management

Comentarios