Un lago de datos de Hadoop es una plataforma de gestión de datos que comprende uno o más clústeres de Hadoop. Se utiliza principalmente para procesar y almacenar datos no relacionales, como archivos de registro, registros de flujo de clics de Internet, datos de sensores, objetos JSON, imágenes y publicaciones en redes sociales.
Dichos sistemas también pueden contener datos transaccionales extraídos de bases de datos relacionales, pero están diseñados para admitir aplicaciones de análisis, no para manejar el procesamiento de transacciones. A medida que las plataformas de nube pública se han convertido en sitios comunes para el almacenamiento de datos, muchas personas construyen lagos de datos Hadoop en la nube.
Arquitectura del lago de datos de Hadoop
Si bien el concepto de lago de datos se puede aplicar de manera más amplia para incluir otros tipos de sistemas, con mayor frecuencia implica el almacenamiento de datos en el sistema de archivos distribuido de Hadoop (HDFS) en un conjunto de nodos de cómputo agrupados basados en hardware de servidor básico. La dependencia de HDFS, con el tiempo, se ha complementado con almacenes de datos que utilizan tecnología de almacenamiento de objetos, pero los componentes del ecosistema Hadoop que no son HDFS suelen formar parte de la implementación del lago de datos empresarial.
Con el uso de hardware básico y la posición de Hadoop como tecnología de código abierto, los defensores afirman que los lagos de datos de Hadoop proporcionan un repositorio de datos analíticos menos costoso que los almacenes de datos tradicionales. Además, su capacidad para contener una mezcla diversa de datos estructurados, no estructurados y semiestructurados puede convertirlos en una plataforma más adecuada para aplicaciones de análisis y gestión de big data que los almacenes de datos basados en software relacional.
Sin embargo, un lago de datos empresarial de Hadoop se puede utilizar para complementar un almacén de datos empresarial (EDW) en lugar de suplantarlo por completo. Un clúster de Hadoop puede descargar parte del trabajo de procesamiento de datos de un EDW y, en efecto, actuar como un lago de datos analíticos. En tales casos, el lago de datos puede albergar nuevas aplicaciones de análisis. Como resultado, los conjuntos de datos alterados o los resultados resumidos se pueden enviar al almacén de datos establecido para su posterior análisis.
Mejores prácticas de Hadoop Data Lake
No es necesario incorporar inmediatamente el contenido de un lago de datos de Hadoop a un esquema de base de datos formal o una estructura de datos coherente, lo que permite a los usuarios almacenar datos sin procesar tal como están; La información puede entonces analizarse en su forma sin procesar o prepararse para usos analíticos específicos según sea necesario.
Como resultado, los sistemas de lago de datos tienden a emplear métodos de extracción, carga y transformación (ELT) para recopilar e integrar datos, en lugar de los enfoques de extracción, transformación y carga (ETL) que se utilizan normalmente en los almacenes de datos. Los datos se pueden extraer y procesar fuera de HDFS utilizando MapReduce, Spark y otros marcos de procesamiento de datos.
A pesar del énfasis común en retener datos en un estado sin procesar, las arquitecturas de lago de datos a menudo se esfuerzan por emplear esquema sobre la marcha técnicas para comenzar a refinar y clasificar algunos datos para usos empresariales. Como resultado, los lagos de datos de Hadoop han llegado a contener tanto datos sin procesar como curados.
A medida que las aplicaciones de big data se vuelven más frecuentes en las empresas, el lago de datos a menudo se organiza para admitir una variedad de aplicaciones. Si bien los primeros lagos de datos de Hadoop solían ser competencia de los científicos de datos, cada vez más, estos lagos están agregando herramientas que permiten el autoservicio de análisis para muchos tipos de usuarios.
Usos y desafíos del lago de datos de Hadoop
Los usos potenciales de los lagos de datos de Hadoop varían. Por ejemplo, pueden agrupar diversas fuentes de datos heredados, recopilar datos de red de múltiples ubicaciones remotas y servir como una estación de paso para los datos que sobrecargan otro sistema.
El análisis y el archivo experimentales se encuentran entre otros usos del lago de datos de Hadoop. También se han convertido en una parte integral de las arquitecturas Lambda de Amazon Web Services (AWS) que combinan los lotes con el procesamiento de datos en tiempo real.
El lago de datos de Hadoop no está exento de críticas o desafíos para los usuarios. Spark, así como el propio marco de Hadoop, pueden admitir arquitecturas de archivos distintas de HDFS. Mientras tanto, los defensores del almacenamiento de datos sostienen que arquitecturas similares, por ejemplo, el mercado de datos, tienen un largo linaje y que Hadoop y las tecnologías de código abierto relacionadas aún necesitan madurar significativamente para igualar la funcionalidad y confiabilidad de los entornos de almacenamiento de datos.
Los usuarios experimentados del lago de datos de Hadoop dicen que una implementación exitosa requiere una arquitectura sólida y políticas de gobernanza de datos disciplinadas; sin esas cosas, advierten, los sistemas de lago de datos pueden convertirse en vertederos fuera de control. La gestión eficaz de metadatos suele ayudar a impulsar implementaciones de lago de datos empresariales exitosas.
Hadoop frente a Azure Data Lakes
Hay otras versiones de lagos de datos, que ofrecen una funcionalidad similar a la del lago de datos de Hadoop y también se vinculan con HDFS.
Microsoft lanzó su Azure Data Lake para cargas de trabajo analíticas de big data en la nube en 2016. Es compatible con Azure HDInsight, Servicio de procesamiento de datos de Microsoft basado en Hadoop, Spark, R y otros marcos de código abierto. los Los componentes principales de Azure Data Lake son Azure Data Lake Analytics, que se basa en Apache YARN, Azure Data Lake Store y U-SQL. Utiliza Azure Active Directory para las listas de control de acceso y autenticación e incluye características de nivel empresarial para la capacidad de administración, escalabilidad, confiabilidad y disponibilidad.
Casi al mismo tiempo que Microsoft lanzó su lago de datos, AWS lanzó Data Lake Solutions, una implementación de lago de datos de referencia automatizada que guía a los usuarios a través de la creación de una arquitectura de lago de datos en la nube de AWS, utilizando servicios de AWS, como Amazon Simple Storage Service ( S3) para almacenamiento y AWS Glue, un catálogo de datos administrados y un servicio ETL.