La plataforma de código abierto Hadoop se ha convertido en sinónimo de big data para buena parte de la industria del almacenamiento y las aplicaciones analíticas.
El big data ha pasado en poco tiempo de ser una tecnología innovadora a convertirse en un mercado y, ahora, a transformarse en una industria. El sistema más utilizado en esta industria para ofrecer capacidades analíticas avanzadas es Hadoop, un software de código abierto, cuyo desarrollo coordina la Apache Foundation, que facilita el almacenamiento de información y permite hacer consultas complejas sobre las bases de datos existentes, resolviéndolas con rapidez.
El origen de Hadoop se remonta a 2004, cuando el ingeniero de software Doug Cutting, que por aquel entonces trabajaba en Google, describe en un documento técnicas para manejar grandes volúmenes de datos, desgranándolos en problemas cada vez más pequeños para hacerlos abordables. Poco después se marchó a Yahoo y allí siguió investigando hasta completar el desarrollo de la plataforma en 2008. El propio buscador utilizaría la tecnología para su negocio, así como otras grandes compañías de Internet, como Facebook, Twitter o eBay.
La procedencia del nombre es mucho menos técnica de lo que se podía esperar. El hijo de tres años de Cutting llamaba a su peluche Hadoop y así bautizó su inventor a la plataforma, que también tomaría de ahí su logo, un elefante amarillo.
Cómo funciona Hadoop
La plataforma de código abierto dispone de un sistema para almacenar información en el que ésta se replica en varias máquinas, distribuyéndose de tal manera que si una máquina se cae no se pierdan los datos. Si es necesario añadir más información se añaden más servidores sin que haya problemas de compatibilidad o reorganización de los datos.
Al igual que ocurre con Linux, cualquiera puede tomar Hadoop, empaquetarlo y ofrecerlo como una distribución de la plataforma. Son varias las compañías que comercializan este tipo de solución y uno de sus principales atractivos es el algoritmo de procesamiento y búsquedas: MapReduce. Esta herramienta permite hacer consultas a una base de datos inmensa y obtener respuestas rápidas. Es capaz de enviar una orden a cada máquina para que busque en su disco duro, recolectar todas las contestaciones y ordenarlas para resolver la consulta.
MapReduce puede resolver con éxito cargas de trabajo de gran complejidad, como el procesamiento del lenguaje humano o el aprendizaje de las máquinas. Pero no es el único algoritmo que se puede utilizar. Recientemente ha aparecido la versión 2.0 de Hadoop, que permite construir otros algoritmos y utilizar otros lenguajes, lo que es un estímulo para los desarrolladores.
Existen plataformas que compiten con Hadoop en el escenario de big data, aunque el elefante amarillo de momento ha tomado la delantera a todas ellas. El proyecto Spark, también de código abierto, avanza a marchas forzadas con el apoyo de Yahoo, quien estuvo involucrado en el desarrollo de su rival. Las soluciones de HPCC Systems y Pervasive Software son otras de las propuestas que flotan en el mercado.
Imagen: UWW ResNet