Mapreduce: o como un algoritmo te cambia la forma de ver las cosas

EnglishFrenchGermanItalianPortugueseRussianSpanish

Hay veces que cuando menos te lo esperas 3 días de lecturas y estudio te cambian la forma de ver las cosas y esto es lo que me ha pasado con el Algoritmo MapReduce.

Leí los paper originales de google pero no terminaron de emocionarme o no me hicieron la luz. Hasta que un día estudiando hadoop, la implementación libre de la apache foundation para implementar cluster de soluciones mapreduce descubrí que se habría todo un mundo de posibilidades. Que ya no es un problema irresoluble manejar unos cuantos cientos de millones de registros o que se puede hacer una copia de internet e indexarla con 7 reglas de mapreduce si tienes unos cuantos cientos de ordenadores y espacio suficiente (con Amazon S3 y una tarjeta de crédito con saldo suficiente claro).

Actualmente google indexa internet con 24 reglas de mapreduce. De pronto manejar cantidades ingentes de información y hacerlo rápido es posible para muchos de los problemas que nos encontramos a diario y que hasta hace muy poco solo podían manejar unas pocas compañías con un coste de hardware y desarrollos de software completamente prohibitivos.

No hace falta buscar problemas tan aparatosos como indexar completamente internet para encontrar los más cercanos como:

* extraer información de millones de entradas de logs de apache.

* analizar y optimizar consultas de sql.

* sugerir preferencias en tiempo real a usuarios.

Esta lista crece cada vez que tienes que procesar mucha información, el proceso es lento y se puede paralelizar el cálculo. Y aunque existen muchas soluciones la más sencilla y potente a la vez estamos usando hadoop y su sistema de ficheros distribuido y fault tolerant HDF+ para implementar soluciones industriales. La lista de usuarios de esta tecnología es inmensa pero solo por citar unos cuantos que la usan y la mejoran como yahoo, facebook, amazon, etc.

Alguno de los proyectos en los que estamos utilizado mapreduce para nuestros clientes son:

* Sugerencias automáticas de contenidos. El sistema procesa las preferencias de los usuarios y cada vez que se activa un contenido el sistema calcula el posible interés que tiene para todos los usuarios. Cuando el cliente entra en una página le sugiere en “tiempo real” contenidos.

* Cálculos con geoposiciones.  Para Geofun Factory le hemos instalado un cluster de hadoop con el que procesan la geoposiciones de miles de usuarios. Antes estos procesos cargaban las bases de datos con millones de registros y cálculos muy lentos. Ahora se está manejando esta información fuera de la base de datos con tiempos de actualización que rozan el tiempo real. Es un cluster pequeño de 4 nodos con 4 cores cada unos y 4 teras de espacios.

Social Share Counters

Leave a Comment