複数のデータフィードからの更新を処理する製品を計画しています。入力データは、100バイトサイズのメッセージを含む合計100Mbpsのストリームであると推測されます。これらのメッセージには、アプリケーション内の既存のデータセットとの相関関係を確認する必要があるいくつかのデータフィールドが含まれています。input-messageが既存のデータレコードと相関している場合、input-messageは既存のデータレコードを更新します。そうでない場合は、新しいレコードを作成します。データは平均3秒ごとに更新されると想定されています。
相関プロセスはボトルネックであると想定されているため、必要に応じて(ほとんどの場合、別のハードウェアまたはVMで)複数のプロセスで製品をバランスよく実行できるようにする予定です。やや宇宙ベースの建築の近く。次に、既存のすべてのデータレコードが実行中のすべてのプロセスに表示されるように、プロセス間で共有ストレージが必要です。共有ストレージは、いくつかの属性(標高など)に基づいたクエリ/検索を通じて、相関の可能性のある候補をフェッチする必要があります。ウォーム冗長性の構成と、ロギングのために5分ごとにスナップショットを保存する可能性を提供する必要があります。
すべてがMongoDBを指しているようですが、MongoDBが私のニーズを満たすことを確認してください。それで、あなたはそれが成功だと思いますか?-ありがとうございました
注意:システムのパフォーマンスを最適化するために別の環境で「ストアドプロシージャ」/「関数」を作成するのではなく、アプリケーションにすべてのコーディングを集中させたいので、リレーショナルデータベースを検討していません。さらに、データは多様であり、スキーマに正規化してみたくありません。