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