Si el Big Data, con su explosión de información y su entramado de
dispositivos conectados, es uno de los fenómenos tecnológicos por
excelencia de los últimos tiempos, Hadoop es posiblemente la herramienta
analítica que más está impulsando la transición entre paradigmas. O, en
todo caso, es una de las infraestructuras de software que mayor
atención está acaparando por medios e industria.
Creada por el desarrollador Doug Cutting, bautizada en honor al peluche favorito de su hijo (a quien debe también su simpático logo en forma de elefante amarillo)
y apadrinada por la Apache Software Foundation, Hadoop es en esencia un framework que permite procesar
grandes cantidades de datos a muy bajo coste.
Esto es así porque por una parte aprovecha los principios del cloud
computing y, por la otra, recurre a código abierto y una licencia de
distribución libre Apache 2.0. Se caracteriza por impulsar tareas
computacionales muy intensivas, trabajar en entornos distribuidos y
mantener altos grados de escalabilidad. Otra de sus grandes ventajas
radica en que
sus aplicaciones son capaces de gestionar tanto datos estructurados como no estructurados, del tipo de fotografías, vídeos, blogs, secuencias de clics o referencias geoespaciales,
sin importar su tamaño.
Lo que en la práctica implica atajar las limitaciones de cálculo de
buena parte de los data warehouse tradicionales y bases de datos
relacionales, que bien por precio o por incompatibilidad dejan fuera
algunas fuentes valiosas para la toma de decisiones dentro de las
empresas.
¿Cómo nació?
Cutting trabajaba en el desarrollo de un motor de búsqueda cuando cayeron en sus manos
dos papers de principios de los años 2000 firmados por Google.
En ellos se describían técnicas para la indexación de información en la
web, su distribución en miles de nodos y su posterior presentación al
usuario como un conjunto significativo y fácil de abordar, que
recibieron el nombre de Google File System (GFS) y, muy especialmente,
MapReduce. Esta última se encuentra en las entrañas de bases de datos
MPP y NoSQL del tipo de Vertica y MongoDB, y destaca por su capacidad
para seleccionar una consulta de entre un conjunto de datos, dividirla y
ejecutarla en paralelo, solucionando la ambivalencia de tener datos
demasiado grandes que necesitan ser procesados y máquinas demasiado
pequeñas para contenerlos.
Esta tecnología fue implementada en Nutch y, allá por 2006, nació
Hadoop como escisión de ese primer proyecto. Del mismo modo Cutting
abandonó su empleo en
Yahoo!, empresa que ha jugado un
papel clave en lo que se refiere a promocionar las bondades de la
plataforma del elefante, y se unió en calidad de arquitecto de software a
las filas de
Cloudera, una compañía cuya cartera de productos gira por completo en torno a esta innovación open source.
¿Cuáles son sus componentes?
Pero
GFS y
MapReduce no son los
únicos elementos que componen Hadoop. Para que todos y cada uno de los
servidores tengan acceso a la información distribuida, se recurre al
robusto sistema de archivos
Hadoop Distributed File Systems
(HDFS). Éste asegura que los datos se repliquen con redundancia a
través del clúster y que el proceso de cálculo no se interrumpa incluso
en el supuesto de que alguna pieza de la cadena falle. Y, buscando abrir
el acceso al framework más allá de la API de Java, se ofrecen dos
soluciones que mejoran la capacidad de programación:
Pig y
Hive.
La primera simplifica tareas de desarrollo comunes como la carga de
datos, la expresión de las transformaciones y el registro de los
resultados, reduciendo drásticamente la cantidad de código necesario;
mientras que la segunda hace que Hadoop opere como un almacén de datos
con estructura predominantemente estática y necesidad de análisis
frecuente, y admita consultas. Al utilizar una sintaxis similar a SQL,
este último lenguaje se convierte en el trampolín perfecto con el que
integrar Hadoop y otras herramientas de inteligencia empresarial.
Tanto Pig como Hive se pueden usar con la base de datos orientada a columnas
HBase,
que organiza miles de millones de filas de información para un acceso
rápido y aleatorio. Por su parte, la interoperabilidad con el resto del
mundo queda garantizada por
Sqoop, una herramienta diseñada para importar datos desde bases relacionales, y por
Flume,
que importa flujos para streaming de datos de registro directamente en
HDFS. Y eso no es todo. La sincronización entre nodos de computación es
tarea de
Zookeeper, mientras que el ingrediente
Oozie
proporciona funciones para la gestión el flujo de trabajo y las
dependencias, eliminando la necesidad de codificar soluciones
personalizadas, y la librería para aprendizaje automático
Mahout
recoge todas las implementaciones de Hadoop a partir de diferentes
procesos analíticos de referencia, que luego sirven para el filtrado de
colaboraciones entre usuarios, recomendaciones o clasificaciones.
Aunque no forma estrictamente parte de la plataforma de Apache,
Whirr
se caracteriza por ser un añadido complementario. De naturaleza neutra,
en la actualidad soporta la nube EC2 de Amazon y los servicios de
Rackspace. Otra característica comúnmente aportada por los
distribuidores al corazón del proyecto es la monitorización, que atiende
Ambari a través de un interfaz de programación que puede ser integrado con otras herramientas de administración del sistema.
¿Quién utiliza Hadoop?
Entre estos proveedores se encuentran las tres principales compañías del mercado mundial de databases:
Oracle, IBM y Microsoft.
Todas ellas se han aliado de alguna u otra forma con el paquidermo
amarillo. En el OpenWorld 2011 se dio a conocer el sistema de ingeniería
Oracle Big Data Appliance, optimizado para adquirir, organizar y cargar
datos no estructurados en Oracle Database 11g y que incluye entre sus
especificaciones la distribución de código abierto Cloudera y una serie
de conectores capaces de comunicarse con Apache Hadoop. El Gigante Azul
ha hecho lo propio empaquetando el framework en su herramienta para el
análisis de grandes volúmenes de datos InfoSphere, concretamente en el
paquete BigInsights Core. Y los chicos de Redmond lo han introducido en
Windows Server y su plataforma cloud Azure vía asociación con la firma
de capital de riesgo Hortonworks.
Y no están solas en la adopción de Hadoop. Aparte de la referida
implicación de Yahoo! y la compatibilidad con las infraestructuras de
Amazon Web Services y
Rackspace, el invento de Cutting sirve a otros grandes nombres del panorama internacional como
AOL, Apple, eBay, Facebook, Foursquare, HP, Hulu, LinkedIn, Netflix, Tuenti y Twitter
para ejecutar enormes cómputos distribuidos. Y una de las últimas que
ha actualizado su oferta es la compañía afincada en Cary
SAS, con el soporte de Hadoop a través de SAS Enterprise Data Integration Server. Asimismo
EMC
ha lanzado un nuevo producto NAS Isilon que presenta soporte nativo
para esta plataforma de analítica de código abierto y, al igual que
Cloudera hace con
Dell y SGI, prepara los servidores de
Cisco para ejecutar la distribución Greenplum MR.
La sensación que está causando este animalito en la industria es de
revuelo total. Tanto es así que la consultora IDC predice que su
ecosistema, cifrado en 77 millones de dólares en 2011, crecerá a un
ritmo anual del 60% hasta superar los 800 millones de dólares en 2016.
O, lo que es lo mismo, espera que evolucione del mismo modo que lo hizo
Linux, que ha sabido prosperar desde su condición de producto
minoritario hasta convertirse en sistema de referencia para la mayoría
de los centros de datos y las supercomputadoras más potentes del
planeta. Veremos si la profecía se cumple.