Cabecera personalizada

El blog de Mikel Niño
Emprendimiento digital, startups, Big Data Analytics y nuevos modelos de negocio

El ecosistema Hadoop: hacia una pila tecnológica Apache para Big Data

Hemos visto como el nacimiento de Apache Hadoop y el sistema de ficheros distribuidos HDFS se inspiraron en la divulgación de las investigaciones desarrolladas por los ingenieros de Google, en este caso concreto en las relacionadas con el framework MapReduce y el sistema de ficheros distribuidos diseñado como su infraestructura de soporte. A lo largo de la última década podemos detectar este mismo patrón (es decir, el desarrollo de una herramienta propietaria de Google y su equivalente open-source con licencia Apache) para una serie de herramientas que han ido ampliando el ecosistema en torno a Apache Hadoop, generando así una amplia pila tecnológica para dar respuesta a diferentes necesidades en torno al “Big Data”. En esta entrada repasaremos algunas de dichas herramientas para ilustrar ese paralelismo.

Así como comentábamos que en 2003/2004 Google publicó los artículos en los que divulgaba los aspectos principales del sistema de ficheros distribuidos GFS y del paradigma MapReduce que inspiraron el desarrollo de Apache Hadoop, en los siguientes años vemos como se repite el patrón. En 2005 Google publica un artículo describiendo Sawzall, un lenguaje de programación para expresar las tareas típicas dentro del análisis de grandes estructuras de datos (filtrado, agregación, cálculo de resúmenes estadísticos, …) a realizar sobre un modelo MapReduce, lo que a su vez inspira el desarrollo de su implementación open-source, Apache Pig (inicialmente desarrollado por Yahoo) y el lenguaje Pig Latin, para su uso sobre Apache Hadoop. Como nota relacionada, dentro del ecosistema Hadoop también nos encontramos con Apache Hive (inicialmente desarrollado desde Facebook), una utilidad de objetivos similares a Pig pero cuyo uso e interfaz se acercan más al conocido lenguaje SQL para interrogar bases de datos.

En 2006 Google divulga en un artículo su sistema NoSQL de almacenamiento de datos, BigTable (utilizado desde entonces en la mayoría de aplicaciones de Google que necesitan almacenar y procesar grandes volúmenes de datos), lo que origina el desarrollo de Apache HBase, su “gemelo” open-source para ser utilizado con HDFS/Hadoop. De una manera similar en años posteriores (2009, 2010) nos encontramos con Pregel (el desarrollo de Google para procesar grandes estructuras de datos con formato de grafo) y su equivalente open-source Apache Giraph, así como con Dremel (el sistema de Google para hacer más eficientes las consultas a grandes volúmenes de datos, basado en el concepto de BigQuery) y su equivalente open-source Impala desarrollado por Cloudera.

El siguiente cuadro cronológico (también incluido en la presentación de mi ponencia en la jornada sobre "Big Data para los negocios" en el Parque Tecnológico de San Sebastián) sintetiza la relación entre estas divulgaciones y desarrollos open-source a lo largo del periodo 2003-2010:


Evolución cronológica 2003-2010 de divulgaciones científicas y desarrollos open-source en torno al Big Data.
CC BY-SA Mikel Niño (mikelnino.com)


Los ejemplos citados son sólo parte de lo que actualmente engloba el "ecosistema Hadoop" (que con tanto nombre de animal utilizado ya tiene tintes de verdadero zoológico :-) ). Para ampliar las referencias sobre todas las herramientas englobadas dentro de dicho sistema, recomiendo revisar esta completísima recopilación que mantiene Javi Roman, donde se puede ampliar la información sobre estas y muchas más utilidades, catalogadas por perfiles: sistemas de ficheros distribuidos, modelos de programación distribuida, bases de datos NoSQL, librerías para aprendizaje automático, etc.

2 comentarios: