Archive for julio, 2009

HadoopDB

miércoles, julio 22nd, 2009

Un artículo publicado en Computerworld indica que un equipo de investigadores de Yale (que incluye a Silberchatz, el autor del libro que uso en la materia Sistemas Operativos) han desarrollado un híbrido entre una base de datos relacional y Hadoop, denominada HadoopDB.

Según uno de los profesores del equipo de investigación HadoopDB, se diferencia de otros productos comerciales existentes en que:

[…] unlike already-developed projects and vendors such as Aster Data, Greenplum or Hive, HadoopDB «is not a hybrid simply at the language/interface level. It is a hybrid at a deeper, systems implementation level.»

En el artículo de Computerworld, mecionan también HadoopDB podría ser de interés a empresas de la Web 2.0 y otros miembros del creciente movimiento «NoSQL».

Nubes virtuales

miércoles, julio 22nd, 2009

En una entrada anterior mencionaba lo caro que puede ser mantener un data center. Una alternativa para los usuarios finales serían las nubes virtuales, creadas a través de la donación de ciclos no utilizados de computadores personales. La idea no es nueva, y de hecho tuvo mediano éxito con la plataforma BOINC, usada por proyectos como SETI@home.

La verdad no me queda claro cuál sería la diferencia entre una nube virtual y un servicio de Internet computing (como BOINC), excepto—tal vez—la interfaz proporcionada al usuario final.

Y hablando de BOINC y MapReduce, MapReduce es uno de los 13 enanos identificados por investigadores de Berkeley. Estos «enanos» representan diferentes métodos algorítmicos que capturan patrones computacionales y de comunicaciones. La idea es que estos patrones puedan ser usados para evaluar modelos y arquitecturas de programación paralela. En la página que describe el «enano» MapReduce hay un comentario que indica que BOINC puede ser visto como un «specification framework» para problemas MapReduce (que indica es básicamente una generalización del enano antes llamado Monte Carlo).

Sistemas de recomendación con Hadoop

miércoles, julio 22nd, 2009

Uno de los grupos de la materia de graduación me comentó que estaba teniendo problemas implementando un sistema de recomendaciones usando Mahout (específicamente, Taste), debido a que tenían problemas de insuficiencia de memoria. Debe haber una manera de solucionar el problema, pero como alternativa pienso que podrían analizar utilizar el algoritmo descrito en el paper «Pairwise Document Similarity in Large Collections with MapReduce«. Encontré una entrada en un blog detallando el uso de este algoritmo, y un tutorial que muestra cómo implementarlo usando Elastic MapReduce.