MapReduce
Lo que más
me agradó del artículo es la forma en la que explica el concepto de MapReduce, así
como su funcionalidad, no solamente es una receta de cocina para implementar y entender
el modelo de programación. Considero que lo que provocó la necesidad por un
modelo que nos permitiera procesar tanta cantidad de datos es algo bastante
interesante, ya que no solamente es procesar estos datos de forma rápida, sino también
de forma paralela en medida de lo posible y ocultando el desastre que es crear,
tener, manejar y mantener este tipo de implementaciones.
Tampoco
esperaba que para un procesamiento tan pesado de datos se inspirara en un
lenguaje funcional ya que siempre me ha parecido más fácil para nosotros y más
pesado para la computadora. Sin embargo, es algo bastante obvio por la forma en
que lo describe el artículo, basarse en las funciones de Map y Reduce de Lisp
que dan origen a sus hermanos en otros lenguajes funcionales como Clojure o
Erlang.
El modelo
que usan para correr varios procesos al mismo tiempo creando un maestro y
varios trabajadores, me recuerda al modelo de replicación de bases de datos
Master-slave. En este caso, resulta muy eficiente porque reduce el tiempo que
tardaría una sola maquina distribuyendo el trabajo para cientos de máquinas en
vez de que sólo una haga el procesamiento.
Comentarios
Publicar un comentario