2010年11月4日、米Yahoo! はリアルタイムにMapReduceを処理する「S4」をオープンソースとして公開しました。米Yahoo! ではMapReduceを行うフレームワークとして「Hadoop」を利用および開発していることで有名です。しかし、Hadoopはバッチのようないわゆるオフライン処理に向いており、リアルタイムに処理するような目的には適していません。S4はリアルタイムにMapReduceを処理する目的で開発され、すでに検索広告のパーソナライゼーションなど実際のサービスで利用されているようです。
S4はJavaで書かれており、Hadoopとはコードベースでは関係ありません。コードベースでは大きくCommunication LayerとCore Classesに分かれています。クラスタ管理にはZooKeeper、シリアライゼーションにはAvroまたはKryoを利用しています。
またサンプルアプリケーションも公開しており、現在Twitterで何が話題になっているかをS4を使って調べるコードがチュートリアルとともに紹介されています。
URL:http://s4.io/