Hadoop: El gran aliado open source para afrontar el reto de ‘Big Data’
Creada a partir de tecnologías como MapReduce y Google File System, esta plataforma capaz de trabajar con miles de nodos y petabytes de datos a la vez se ha convertido en el aliado perfecto para la acuciante necesidad de Big Data. Todos los grandes fabricantes la han adoptado.
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.