Searching...
lunes, 22 de agosto de 2016

Evaluación de Hadoop como herramienta óptima

El ecosistema Hadoop está creciendo a un ritmo rápido. Esto significa que está siendo posible hacer muchas cosas que antes eran difíciles o no se comprendían bien. En este artículo voy a analizar algunos aspectos en los que no se tiene duda de que encajan bien con Hadoop. También voy a revisar varios aspectos que pueden motivarnos para evaluar Hadoop a un nivel más profundo. ¿Tiene sentido realmente Hadoop en tú problema específico?
Necesidades emergentes a incorporar en el ecosistema Hadoop
Vamos a ver en primer lugar las características principales que hacen que un problema sea adecuado para Hadoop (lo que algunos autores llaman un problema hadoopable o hadoop-friendly). Si observamos un crecimiento a gran escala en la cantidad de datos que se van a atacar, probablemente tenga sentido utilizar Hadoop. Cuando lo que queremos es acceso rápido a los datos históricos antiguos, que de lo contrario irían a cartuchos (o unidades de cinta), Hadoop puede proporcionar una buena alternativa.

Otras características adecuadas para Hadoop incluyen escenarios en los que se desea utilizar múltiples aplicaciones en el mismo almacén de datos. Un volumen grande o una alta heterogeneidad también son excelentes indicadores para la elección de Hadoop como plataforma. 

El procesamiento de conjuntos pequeños de datos debería hacerte dudar. ¿De verdad necesitas Hadoop para eso? Profundiza y averigua exactamente por qué quieres utilizar Hadoop antes de seguir adelante. 

Hadoop es bueno para el paralelismo de datos. Cómo sabes, el paralelismo de datos consiste en la ejecución simultánea de la misma función en varios nodos a través de los elementos de un conjunto de datos. Por otra parte, el paralelismo a nivel de tareas, cómo se observa en el siguiente gráfico, es la ejecución simultánea de muchas funciones diferentes en varios nodos a través del mismo conjunto de datos o de conjuntos de datos diferentes. Si nuestro problema tiene paralelismo a nivel de tareas, debemos hacer un análisis más detallado en cuanto a qué herramientas del ecosistema Hadoop tenemos pensado implementar. ¿Qué beneficios proporcionan exactamente estas herramientas? Procede con cautela.
Paralelismo a nivel de tareas
No todos los algoritmos son escalables en Hadoop o reducibles a uno de los modelos de programación soportados por YARN. Por lo tanto, si lo que buscas es implementar algoritmos de procesamiento de datos altamente acoplados, procede con cautela.

¿Estas pensando en tirar a la basura tus soluciones actuales de base de datos y cambiarlas por Hadoop? Piénsalo otra vez. Hadoop puede ser una buena plataforma en la que los conjuntos de datos heterogéneos pueden aterrizar y procesarse en una forma digerible para nuestra base de datos. Hadoop puede no ser la mejor solución de almacenamiento de datos para nuestro modelo de negocio. Valóralo y procede con cautela.

HDFS almacena los datos en bloques de 64 megabytes como mínimo, por lo que es posible que tengas que leer un fichero completo solo para seleccionar una entrada de datos. Esto hace que sea más complicado acceder a los datos de manera aleatoria.

En el siguiente gráfico se muestran algunos de los objetivos móviles del ecosistema Hadoop que están experimentando un continuo crecimiento y las necesidades adicionales que deben abordar las nuevas herramientas que se incorporen al ecosistema Hadoop, fundamentalmente, las consultas analíticas avanzadas, las tareas sensibles a la latencia y la ciberseguridad de datos sensibles. También ofrezco una serie de enlaces que puede interesarte investigar más en profundidad para entender los retos que afrontan estas nuevas herramientas.
Herramientas emergentes del ecosistema Hadoop
Resumiendo:

Aunque Hadoop es adecuado para la escalabilidad de muchos algoritmos, se trata solo de un modelo que no resuelve todos los problemas de gestión y procesamiento de Big Data. Aunque sería posible encontrar contraejemplos, por lo general se puede decir que el framework Hadoop no es la mejor opción para trabajar con conjuntos pequeños de datos (small datasets), algoritmos avanzados que requieren un tipo de hardware específico, paralelismo a nivel de tareas, sustitución de la infraestructura o acceso aleatorio a los datos. 

0 comentarios:

Publicar un comentario

Gracias por participar en esta página.

 
Back to top!