S4はYahoo! Inc.製の分散処理プラットフォーム。

[/s2If]

S4はJava製のオープンソース・ソフトウェア。インターネット上には膨大なテキストコンテンツが存在する。さらにブログやソーシャルメディアを通じて刻々とデータ量は増大している。そうしたテキストコンテンツを解析し、意味を見いだしていくのが得意なのがMapReduceだ。

Screen-shot 223.png

膨大なデータを細分化し、並列処理していくことで高速処理を可能にしている。今ではAmazon Web ServiceでAmazon Elastic MapReduceが提供されていたり、Yahoo! Inc.はHadoopの開発にも積極的に関わってきた。その次世代型とも言えるのがS4だ。

S4を開発し、公開したのもまたYahoo! Inc.だ。MapReduceの欠点として、予めプログラムを組みバッチ処理にしか使えなかったのだが、S4では適宜タスクとして登録できるとしている。特にTwitterなどのストリーム系での利用を想定しているようで、サンプルプログラムにもTwitterストリーミング解析が入っている。

特徴として、スケーラブル、分散処理、対障害、オブジェクト指向等を挙げている。実際にYahoo!で使われているらしく、1秒間に数千という検索クエリーを処理しているとのこと。なお、提供されているコードはRedhat Linux 4でテストされている。

S4は小さなサービスで使われることはまずないだろう。大規模かつ大量のデータがある所でこそ役に立つ。ストリーム系の、どんどん新しい情報が入ってくる環境下でこそ使ってみたいソフトウェアだ。

 

MOONGIFTはこう見る

Yahoo! Inc.は検索エンジンをBingに委託する形になっているが、さすがにテキスト解析の全てを投げ出す訳ではないようだ。むしろ検索エンジンがない分、その結果をいかにして効率的に表示するか、ニュースやその他のサービスと絡めて表示するかが問われるようになっているのだろう。

確かにMapReduceの場合は予めの準備が必要だったように思えるが、S4はHadoopをもっと手軽に使えるようにしたようなイメージなのかも知れない。ブログサービスやストリーム系サービスでコンテンツ解析を高速化したい時に使えるだろう。

 

s4’s Profile - GitHub

 https://github.com/s4

[/s2If]

s4: distributed stream computing platform

 http://s4.io/