Hadoop bzw. MapReduce eignet sich sehr gut, um grosse Datenmengen effizient verarbeiten zu können. Eine Verarbeitung in Hadoop ist jedoch immer batch-orientiert, d.h. es braucht eine gewisse Zeit, bis ein Resultat zur Verfügung steht. Für gewisse Anwendungsfälle kann dies ausreichend sein, andere Anwendungsfälle benötigen jedoch Daten in Echtzeit. Für die Lösung solcher Problemstellungen, gibt es seit einigen Jahren sogennante Complex-Event Processing (CEP) Systeme. Diese lassen es zu, direkt auf dem eingehenden Ereignisstrom Abfragen/Berechungen und Verabeitugnen durchzuführen, ohne diese Informationen erst in einer Datenbank abspeichern zu müssen.
Twitter Storm ist ein Open Source Framework für die Verarbeitung von Datenströmem in Echtzeit. Es wird auch als "Hadoop für Echtzeitverarbeitung" bezeichnet, wobei das Programmiermodell sich doch stark von Hadoop unterscheidet. Storm ist mehrheitlich in Clojure geschrieben und unterstützt Java direkt. Die grundlegenden Bausteine, die Spouts und die Bolts können sowohl in Java wie auch in anderen Programmiersprachen implementiert werden.
Diese Session präsentiert, wie man mit Hilfe von Twitter Storm Applikaitonen implementieren kann und zeigt entsprechende Anwendungsfälle, welche sich mit Twitter Storm lösen lassen. Zudem wird diskutiert, wie sich Storm mit Hadoop und NoSQL sinnvoll kombinieren lässt.