9

イベント ストリームと key-val ストレージがあります。値のサイズは 4Kb に制限されています。イベント レートはそれほど高くありません。1 日に最大数百です。

この値には、データ構造のシリアル化された表現を格納する必要があります。これは、3 か月間にわたって集計されたイベント数を読み取り、格納、および更新するための効率的なメカニズムを提供し、日次および週次の集計と 1/2 時間のスライディング ウィンドウを使用します。

このソリューションでは、単純なイベント数の集計とイベント数の標準偏差の両方に対して、次のタスクを効率的に実行する必要があります。(下記のすべてのタスクの最大期間は3 か月です):

  1. 一定の更新 (怠惰な方法で - 対応するイベントが到着すると) - 最新の計算された集計が古すぎる場合 - 古いデータをスローして新しい集計を作成します
  2. 最新の計算された集計が古すぎる場合に備えて、読み取り要求 (ユーザーが特定のユーザーのイベント数、単一ユーザーのイベント数の標準偏差などの情報を要求する) によってトリガーされる更新 - それらをスローする

上記の実装を支援できるJavaオープンソースフレームワークはありますか?

また、デザインの推奨事項もいただければ幸いです: デザイン パターンなど。

このソリューションは、標準の Java API を使用してゼロから実装することは難しくありませんが、実行する前に、オープン ソース フレームワークの提案 (あれば) をいただければ幸いです。

ソリューションのグーグル検索は、いくつかの理論的な記事、SQL ベースのソリューション、および IBM ( SPLと呼ばれる非オープン ソース ツールキット) を除いて、どこにも私を導きませんでした。

4

1 に答える 1

3

エスパーを見てください。

またはStreamCruncher

于 2012-05-07T15:34:48.907 に答える