Cuando Hadoop no es suficientemente rápido!!!

Llevamos ya varios posts dedicados a Hadoop, casi como sinónimo de BigData pero qué pasa cuando Hadoop no es suficientemente rápido!!!

Para ciertas cosas como calcular trending topics en Twitter sin ir más lejos el flujo de Hadoop es muy lento. El motivo es que Hadoop no está pensado para trabajar en tiempo real.

En este post vamos a analizar Twitter Storm:

En 2011 Twitter adquirió la compañía de análisis online BackType. En septiembre de 2011 Twitter liberó Storm como librería open source.

Storm funciona de forma semejante a Hadoop pero en lugar de jobs MapReduce Storm corre topologías que nunca acaban.

Storm puede usarse para :

· Procesamiento de streams de datos Storm es escalable y tolerante a fallos

· Computación continua Storm puede ejecutar una query de forma continua y hacer stream de los resultados a los clientes en tiempo real (así se usa para los trending topics)

· RPC distribuido: Storm permite paralelizar una query al vuelo

Existen varias alternativas a Storm que intentaremos analizar en otros posts (Hstreaming y Apache S4 como poco), sobre estas Storm ofrece:

· Open Source: Hstreaming no lo es

· Modelo de programación simple

· Corre en cualquier lenguaje: Clojure, Java, Ruby y Python se soportan pero se pueden añadir nuevos sólo implementando el protocolo de comunicación

· Tolerante a fallos

· Escalable horizontalmente

· Garantiza el procesamiento del mensaje: Storm garantiza que cada mensaje se ha proceso por completo al menos una vez. S4 no lo garantiza.

· Rápido: usa ØMQ como capa de mensajería

· Modo local: para simular un cluster Storm y hacer test unitarios de topologías

Para correr Storm se necesita Apache Zookeeper, ØMQ, JZMQ, Java 6 y Python:

· ZooKeeper se encarga de gestionar los components de un cluster

· ØMQ como sistema de mensajería interno y JZMQ como Java Binding para ØMQ.

Existe un subproyecto, storm-deploy, que permite el despliegue inmediato de clusters Storm clusters en AWS.

Mientras nos ponemos con el post que explique el funcionamiento de Storm podéis seguir su tutorial.

Anuncios

3 comentarios to “Cuando Hadoop no es suficientemente rápido!!!”

  1. Storm: el Hadoop para procesar streams « Un poco de Java Says:

    […] tenemos flujos de datos que se desean procesar según llegan. En estos casos entra en juego Storm: Storm es un framework para procesar streams de forma distribuida, o por decirlo en palabras BigData, el […]


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: