私はいくつかのリアルタイムイベントを受け取り、それらをユーザーインターフェイスレイヤーにプッシュするJava Webアプリケーションを手に入れました。私はすべての知覚された出来事を記録したいと思います。情報量が膨大になるので、私はNoSQLデータベースを使うほうが好きです。NoSQL DBにリアルタイムデータを記録するためのベストプラクティス
この目的のために、イベントごとにドキュメントを挿入するmongodbをセットアップしました。問題は、このアプローチ(イベントごとのディスクアクセス)がプロセス全体を劇的に遅くすることです。
このような状況で私はどのようなアプローチを取ることができますか? mongodbではどのようなオプションが利用できますか(バルク挿入、非同期挿入、キャッシュなど)?いくつかの他のNoSQL db実装に切り替えると違いが生まれますか?ここでベストプラクティスは何ですか?
のクラス
s.w.s.m.m.a.RequestMappingHandlerMapping
のフルネームを短縮する方法をご覧ください。どのように大きなスループットが期待されますか? 100/s? 10k/s? 1M/s?平均と可能なピーク?シリアル化されたときのあなたのイベントの大まかなサイズは? 100バイト? 1メガバイト?過去の出来事をまれに見直す必要がありますか、時間窓の順に再生するか、アドホックな質問をする必要がありますか?どのくらいの期間それらを保存する必要がありますか?そのDBは何年ものデータになるでしょうか、あるいは何らかの種類のクリーンアップ/アーカイブを毎週二次ストレージに行うことができますか? –