2017-04-11 26 views
-1

リアルタイムまたはほぼリアルタイムでイベントを処理するために必要なイベント処理アプリケーションがあります。 1分に5000-10000件のメッセージが得られることが期待されます。受信イベントを処理するには、追加のデータ要素を取得する必要があります。イベント処理中のイベントの拡張

例のために、財政領域を考えてみましょう。したがって、入ってくるイベントはトランザクションであり、処理はいくつかのビジネスルールを通じてそれらを検証することによって表されます。追加のデータ要素にはさまざまなものがあり、アカウント情報、クライアント情報、この特定のアカウントの以前の取引(重要!)が含まれますが、これらに限定されません。 100日間履歴を振り返る必要のある取引を処理するとしましょう。また、イベントの処理は非常に複雑であり、さまざまなパターンをサポートしてデータを取得する強力なクエリ言語を使用することが要件の1つです。

問題は、このようなイベントを処理するためにデータを保存したりフェッチしたりするためにどのようなソリューション/製品を選択するかです。

データの量が多いので、リレーショナルデータベースはオプションではないと仮定しましょう。したがって、ソリューションは簡単にスケールアウトする必要があります。

現在、私の心には何です:

  1. HDFS +は

この上の任意の考えスパーク

  • カサンドラ+スパーク
  • HDFS/HBaseの+スパーク?

  • 答えて

    1

    100-200イベントは巨大なスケールではありませんが、同じまたは少なくとも共通のデータを必要とするいくつかのイベントが発生する確率、データの断片化の程度などのデータサイズやその他の問題については言及していません。

    これらのタイプの質問は、HBaseとCassandraの両方が目的のために十分な速さでデータを取得できるように、関連するソリューションに大きな影響を与えます。 SparkとHDFSは、必要なすべてのデータをメモリにロードできる場合にのみ適合します(このような場合にはHDFSは必要ありません)。

    メモリにすべてまたは関連性の高いデータを収めることができます。 apache igniteやapache geodeのようなメモリ内データグリッド