Partiendo de la arquitectura básica de Hadoop basada en dos
sencillos conceptos: almacenamiento de datos en Hadoop Distributed File System
– HDFS y procesamiento de los mismos a través de trabajos MapReduce. Vemos que
algunas empresas ofrecen distintas soluciones con la misma base pero con
algunos matices, como son las propuestas por Microsoft e IBM. Las cuales
podemos diferenciar en los siguientes aspectos.
IBM – BigInsights
Algunas de las mejoras que propone IBM son:
·
IBM GPFS-FPO: (General Parallel File System –
File Placement Option) sistema de gestión de ficheros que mejora el HDFS:
o
HDFS distribuye los datos en cada nodo del
cluster, replicando la información de la misma forma, por lo que requiere un almacenamiento
temporal, mientras que GPFS permite tener un único sistema de ficheros en el
cual no todos los datos se traten igual, permitiendo trabajar de forma aislada
por conjuntos de datos lo que significa que puede definir agrupaciones de
almacenamiento para asegurarse de que los datos de una aplicación sólo residen
en nodos específicos. Además se introduce el concepto de factor de grupo, que
permite juntar distintos bloques para tratar mejor la información.
o
En vez de utilizar un NameNode, GPFS-FPO distribuye
los metadatos entre distintos nodos, evitando la existencia de un único punto
de fallo y permitiendo leer los metadatos de distintos nodos.
o
Para actuar ante fallos introduce el concepto de
quórum, de forma que los nodos que pertenecen a quórum cuando ven que no
responde el File System Manager (FSM) o el Cluster Manger, seleccionan el que
va a actuar como tal.
·
Adaptive MapReduce: propone mejoras de
rendimiento y disponibilidad sobre el clásico MapReduce.
o
Aunque originariamente Hadoop se creó para
manejar consultas a nivel de varios terabytes, en muchos casos se está
utilizando con menor cantidad de datos, lo cual provoca que los tiempos de
respuesta para consultas menores sean muy altos, es por ello que el Adaptive
MapReduce permite hacer frente a consultas sobre conjuntos de datos menores de
forma más rápida.
o
Mejora el algoritmo de mezclado (shuffling) de los resultados obtenidos en la etapa de
mapeo, obteniendo una lista con todas las parejas clave-valor.
o
Disminuye la posibilidad de fallo del JobTracker
puesto que separa las tareas que este realiza en dos capas (planificador de carga
de trabajo y de recursos). De forma que se tiene conocimiento del trabajo
realizado por todos los nodos incluso el nodo principal, permitiendo repartir la
carga a nodos ociosos, e incluso desplazar la funcionalidad del JobTracker a
otro nodo.
·
BigInsights Console: Consola de administración
en entorno gráfico, que permite gestionar ficheros en HDFS, controlar permisos
sobre ficheros o acceder a la Shell en modo gráfico.
¿Qué os parecen las mejoras?
próximamente espero ver algunas de las diferencias que
presenta la plataforma de Microsoft.
Fuentes Relevantes: