BT

Yahoo!、リアルタイム分散処理プラットフォームのS4をリリース

| 作者: Tim Cull フォローする 0 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2010年11月24日. 推定読書時間: 3 分 |

原文(投稿日:2010/11/23)へのリンク

今月、Yahoo!は新しいオープンソースフレームワークを発表した。これは"途切ない、境目の無いデータの流れを処理する"ためのものだ。このS4という名のフレームワークは絶えず変更されるデータに対する巨大な分散計算処理を実現する。

"リアルタイムマップリディース"と説明する向きもあるが、S4はストリーミングデータベースや複合イベント処理システムと比べるほうが適切だ。StreamBaseOracle、Tibco、Sybaseのようなベンダはこのようなシステムについて長い歴史を持っている。また、Active InsightEsperOpenESBのようなオープンソースのプロジェクトも同様に長い歴史がある。これらのベンダのシステムの多くはより大きなエンタープライズサービスバズの製品に包摂された。

Yahooの発表はS4が正確には何ができるのかについて多くの開発者を混乱させた。Yahoo!チームはドキュメントが多少あることを認めたが、開発者が試せるように可能な限り早くコードを公開したかったと言った。初心者向けにYahoo!チームはS4を使ったサンプルの実装を提供している。

このサンプルを理解するためには、開発者はイベントとプロセッシングエレメントがS4のコンセプトの中核にあることを理解する必要がある。ひとつのイベントはS4の中を流れる任意のJavaオブジェクトであり、プロセッシングエレメントはイベントを取り込んでそのイベントに基づいた何らかの処理を行うロジックだ。多くの場合、プロセッシングエレメントはひとつのイベントを受け取り、他のイベントを出力する。ほとんどのイベントは"キー"を持っている。S4は同じキーを持っている2つのイベントが最終的に同じ仕組みで処理されることを保証する。S4の拡張性にとって極めて重大なのは、エレメントを処理するプロセッシングイベントの各インスタンスはひとつのキーしか扱わないという考え方だ。例えば、S4のオーバービューを見ると、文字数かうんとアプリケーションはひとつの文字を数える毎にひとつのプロセッシングエレメントのインスタンスを生成するようになっているのがわかる。

サンプル実装のひとつはTwitterの上位10個のハッシュタグを追跡するアプリケーションだ。このサンプルコードはたった8つの比較的シンプルな処理をするクラスでできている。まず、TwitterFeedListenerがTwitterの"消防ホース"から提供されるJSONをS4が扱うJavaのイベントに変換する。それからTopicExtractorPEが各ツイートのハッシュタグを抜き出し、ハッシュタグ毎に新しいイベントを生成する。次にTopicCountAndReportPE(ハッシュタグ毎に生成される)が自分の扱うハッシュタグの出現回数を数え、ハッシュタグと出現回数を保持する新しいイベントを生成する。最後に単一のTopNTopicPEがすべてのハッシュタグの出現回数を取り込んで上位10個の ハッシュタグがソートさせた状態にする。

切れ目のないデータの流れを処理するための典型的なS4の使い方としては他に、株式売買の信号を検出することや不正なトランザクションを監視すること、プロセスのログを監視して異常を見つけることなどが挙げられる。

S4が一番得意なのはビジネス上詳細を保持するのではなく集計を行いたいようなライフサイクルの短いデータを大量に扱うことだ。S4を使うことでデータの場所を追跡し、失敗を検出できるので、開発者はロジックを書くことだけに集中できる。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT