paint-brush
Arquitectura de un lago de datos moderno en un mundo post-Hadooppor@minio
4,549 lecturas
4,549 lecturas

Arquitectura de un lago de datos moderno en un mundo post-Hadoop

por MinIO7m2024/09/13
Read on Terminal Reader

Demasiado Largo; Para Leer

Este artículo analiza el ascenso y la caída de Hadoop HDFS y por qué el almacenamiento de objetos de alto rendimiento es un sucesor natural en el mundo del big data.
featured image - Arquitectura de un lago de datos moderno en un mundo post-Hadoop
MinIO HackerNoon profile picture


El Lago de datos moderno es mitad almacén de datos y mitad lago de datos y utiliza el almacenamiento de objetos para todo. El uso del almacenamiento de objetos para crear un almacén de datos es posible gracias a los formatos de tabla abierta (OTF) como Apache Iceberg, Apache Hudi y Delta Lake, que son especificaciones que, una vez implementadas, hacen que sea sencillo utilizar el almacenamiento de objetos como solución de almacenamiento subyacente para un almacén de datos. Estas especificaciones también proporcionan funciones que pueden no existir en un almacén de datos convencional, por ejemplo, instantáneas (también conocidas como viaje en el tiempo), evolución del esquema, particiones, evolución de particiones y ramificación de copia cero.


A medida que las organizaciones construyen lagos de datos modernos, estos son algunos de los factores clave que creemos que deberían tener en cuenta:


  1. Desagregación de computación y almacenamiento
  2. Migración de marcos monolíticos a marcos de mejor calidad
  3. Consolidación del centro de datos: reemplace las soluciones departamentales con una única solución corporativa
  4. Rendimiento perfecto en archivos/objetos pequeños y grandes
  5. Soluciones nativas de la nube definidas por software que escalan horizontalmente


Este artículo analiza el ascenso y la caída de Hadoop HDFS y por qué el almacenamiento de objetos de alto rendimiento es un sucesor natural en el mundo del big data.

Adopción de Hadoop

Con la expansión de las aplicaciones de Internet, los primeros grandes desafíos de almacenamiento y agregación de datos para las empresas de tecnología avanzada comenzaron hace 15 años. Los RDBMS (sistemas de gestión de bases de datos relacionales) tradicionales no podían escalarse para abordar grandes cantidades de datos. Luego llegó Hadoop, un modelo altamente escalable. En el modelo Hadoop, una gran cantidad de datos se divide en múltiples máquinas económicas en un clúster que luego se procesa en paralelo. La cantidad de estas máquinas o nodos se puede aumentar o disminuir según los requisitos de la empresa.


Hadoop era de código abierto y utilizaba hardware comercial de bajo costo, lo que brindaba un modelo rentable, a diferencia de las bases de datos relacionales tradicionales, que requieren hardware costoso y procesadores de alta gama para manejar grandes cantidades de datos. Como era tan costoso escalarlo en el modelo RDBMS, las empresas comenzaron a eliminar los datos sin procesar, lo que generó resultados subóptimos en varios vectores.


En este sentido, Hadoop ofrecía una ventaja significativa sobre el enfoque RDBMS: era más escalable desde una perspectiva de costos, sin sacrificar el rendimiento.

El fin de Hadoop

La aparición de nuevas tecnologías, como la captura de datos modificados (CDC) y la transmisión de datos, generados principalmente por empresas de redes sociales como Twitter y Facebook, alteró la forma en que se ingieren y almacenan los datos. Esto generó desafíos en el procesamiento y consumo de estos volúmenes de datos aún mayores.


Un desafío clave fue el procesamiento por lotes. Los procesos por lotes se ejecutan en segundo plano y no interactúan con el usuario. Hadoop era eficiente con el procesamiento por lotes cuando se trataba de archivos muy grandes, pero tenía problemas con archivos más pequeños, tanto desde una perspectiva de eficiencia como de latencia, lo que lo volvió obsoleto a medida que las empresas buscaban marcos de procesamiento y consumo que pudieran ingerir conjuntos de datos variados, grandes y pequeños, en lotes, CDC y en tiempo real.


Hoy en día, separar el procesamiento del almacenamiento tiene sentido. El almacenamiento debe superar al procesamiento en una proporción de diez a uno. Esto es muy ineficiente en el mundo de Hadoop, donde se necesita un nodo de procesamiento por cada nodo de almacenamiento. Separarlos significa que se pueden ajustar individualmente. Los nodos de procesamiento no tienen estado y se pueden optimizar con más núcleos de CPU y memoria. Los nodos de almacenamiento tienen estado y se pueden optimizar con E/S optimizadas con una mayor cantidad de unidades más densas y un mayor ancho de banda.


Al desagregar, las empresas pueden lograr una economía superior, mejor capacidad de gestión, mayor escalabilidad y un mejor costo total de propiedad.


HDFS no puede realizar esta transición. Cuando se abandona la localización de los datos, la fortaleza de Hadoop HDFS se convierte en su debilidad. Hadoop fue diseñado para la computación MapReduce, donde los datos y la computación debían ubicarse en el mismo lugar. Como resultado, Hadoop necesita su propio programador de tareas, administrador de recursos, almacenamiento y computación. Esto es fundamentalmente incompatible con las arquitecturas basadas en contenedores, donde todo es elástico, liviano y multiusuario.


Por el contrario, MinIO nació nativo de la nube y está diseñado para contenedores y orquestación a través de Kubernetes, lo que lo convierte en la tecnología ideal a la que hacer la transición cuando se retiran instancias HDFS heredadas.


Esto ha dado lugar al Datalake moderno, que aprovecha el enfoque de hardware básico heredado de Hadoop, pero desagrega el almacenamiento y el cómputo, lo que cambia la forma en que se procesan, analizan y consumen los datos.

Construyendo un lago de datos moderno con MinIO

MinIO es un sistema de almacenamiento de objetos de alto rendimiento que se creó desde cero para que fuera escalable y nativo de la nube. El equipo que creó MinIO también creó uno de los sistemas de archivos más exitosos, GlusterFS, antes de evolucionar su forma de pensar sobre el almacenamiento. Su profundo conocimiento de los sistemas de archivos y de qué procesos eran costosos o ineficientes sirvió de base para la arquitectura de MinIO, que ofrece rendimiento y simplicidad en el proceso.


Minio utiliza codificación de borrado y proporciona un mejor conjunto de algoritmos para gestionar la eficiencia del almacenamiento y proporcionar resiliencia. Normalmente, se trata de 1,5 veces la copia, a diferencia de las 3 veces en los clústeres de Hadoop. Esto por sí solo ya proporciona eficiencia de almacenamiento y reduce los costos en comparación con Hadoop.


Desde sus inicios, MinIO fue diseñado para el modelo operativo en la nube. Como resultado, se ejecuta en todas las nubes: pública, privada, local, física y perimetral. Esto lo hace ideal para implementaciones de múltiples nubes e híbridas. Con una configuración híbrida, MinIO permite la migración de cargas de trabajo de análisis de datos y ciencia de datos de acuerdo con enfoques como el Patrón de higuera estranguladora popularizado por Martin Fowler.


A continuación se presentan varias otras razones por las que MinIO es el componente básico para un Datalake moderno capaz de soportar su infraestructura de datos de IA, así como otras cargas de trabajo analíticas como inteligencia empresarial, análisis de datos y ciencia de datos.

Datos modernos listos

Hadoop fue diseñado específicamente para datos donde “datos no estructurados” significa archivos de registro grandes (de tamaño GiB a TiB). Cuando se utiliza como una plataforma de almacenamiento de propósito general donde se utilizan datos no estructurados reales, la prevalencia de objetos pequeños (KB a MB) perjudica en gran medida a Hadoop HDFS, ya que los nodos de nombre nunca fueron diseñados para escalar de esta manera. MinIO se destaca en cualquier tamaño de archivo/objeto (8 KiB a 5 TiB).

Código abierto

Las empresas que adoptaron Hadoop lo hicieron por su preferencia por las tecnologías de código abierto. La capacidad de inspección, la libertad de no depender de nadie y la comodidad que brinda contar con decenas de miles de usuarios tienen un valor real. MinIO también es 100 % de código abierto, lo que garantiza que las organizaciones puedan mantenerse fieles a sus objetivos y, al mismo tiempo, mejorar su experiencia.

Simple

La simplicidad es difícil. Requiere trabajo, disciplina y, sobre todo, compromiso. La simplicidad de MinIO es legendaria y es el resultado de un compromiso filosófico para hacer que nuestro software sea fácil de implementar, usar, actualizar y escalar. Incluso los fanáticos de Hadoop le dirán que es complejo. Para hacer más con menos, necesita migrar a MinIO.

De alto rendimiento

Hadoop saltó a la fama debido a su capacidad para ofrecer un rendimiento de big data. Durante la mayor parte de una década, fue el punto de referencia para el análisis de nivel empresarial. Ya no más. MinIO ha demostrado en múltiples ocasiones que puntos de referencia que es mucho más rápido que Hadoop. Esto significa un mejor rendimiento para su Datalake moderno.

Ligero

El binario del servidor de MinIO tiene menos de 100 MB. A pesar de su tamaño, es lo suficientemente potente como para ejecutar el centro de datos, pero lo suficientemente pequeño como para funcionar cómodamente en el borde. No existe una alternativa similar en el mundo de Hadoop. Lo que significa para las empresas es que sus aplicaciones S3 pueden acceder a los datos en cualquier lugar, en cualquier momento y con la misma API. Al implementar MinIO en una ubicación de borde, puede capturar y filtrar datos en el borde y usar las capacidades de replicación de MinIO para enviarlos a su Modern Datalake para la agregación y el análisis posterior.

Resiliente

MinIO protege los datos con una codificación de borrado en línea por objeto, que es mucho más eficiente que las alternativas de HDFS que surgieron después de la replicación y nunca se adoptaron. Además, la detección de bitrot de MinIO garantiza que nunca leerá datos dañados, ya que captura y repara objetos dañados sobre la marcha. MinIO también admite la replicación activa-activa entre regiones. Por último, MinIO admite un marco completo de bloqueo de objetos que ofrece retención y retención legal (con modos de gobernanza y cumplimiento).

Definido por software

El sucesor de Hadoop HDFS no es un dispositivo de hardware, sino un software que se ejecuta en hardware comercial. Eso es MinIO: software. Al igual que Hadoop HDFS, MinIO está diseñado para aprovechar al máximo los servidores comerciales. Con la capacidad de aprovechar las unidades NVMe y la red de 100 GbE, MinIO puede reducir el tamaño del centro de datos, lo que mejora la eficiencia operativa y la capacidad de gestión.

Seguro

MinIO admite varios y sofisticados esquemas de cifrado del lado del servidor para proteger los datos, donde sea que se encuentren, en tránsito o en reposo. El enfoque de MinIO garantiza la confidencialidad, la integridad y la autenticidad con una sobrecarga de rendimiento insignificante. El cifrado del lado del servidor y del lado del cliente se admite mediante AES-256-GCM, ChaCha20-Poly1305 y AES-CBC, lo que garantiza la compatibilidad de las aplicaciones. Además, MinIO admite los sistemas de gestión de claves (KMS) líderes en la industria.

Migración de Hadoop a MinIO

El equipo de MinIO tiene experiencia en la migración de HDFS a MinIO. Los clientes que adquieran una licencia Enterprise pueden obtener asistencia de nuestros ingenieros. Para obtener más información sobre cómo usar MinIO para reemplazar HDFS, consulte Esta colección de recursos .

Conclusión

En este punto, cada empresa es una empresa de datos. El almacenamiento de esos datos y el análisis posterior deben ser fluidos, escalables, seguros y eficientes. Las herramientas analíticas generadas por el ecosistema Hadoop, como Spark, son más efectivas y eficientes cuando se combinan con lagos de datos basados en almacenamiento de objetos. Tecnologías como Flink mejoran el rendimiento general, ya que proporcionan un tiempo de ejecución único para la transmisión, así como el procesamiento por lotes que no funcionaba bien en el modelo HDFS. Los marcos como Apache Arrow están redefiniendo cómo se almacenan y procesan los datos, e Iceberg y Hudi están redefiniendo cómo los formatos de tabla permiten la consulta eficiente de los datos.


Todas estas tecnologías requieren un lago de datos moderno basado en el almacenamiento de objetos, donde el cómputo y el almacenamiento estén desagregados y optimizados para la carga de trabajo. Si tiene alguna pregunta mientras diseña su propio lago de datos moderno, no dude en comunicarse con nosotros en [email protected] o en nuestro Flojo canal.