私は半径サーバ用のフロントエンドシステムで作業しています。は、膨大な量のデータをmongoに保存しています
半径サーバは、180秒ごとにシステムに更新を渡します。つまり、もし私が1日に約7,200,000件のエントリーになる約15,000のクライアントを持っていれば...どれが多いですか。
私は、このデータを保存して取得する最良の方法がどのようなものか理解しようとしています。明らかに時間が経つにつれて、これは実質的になります。 MongoDBはこれを処理しますか?典型的な文書はそれほど多岐にわたっていませんが、これは何ものでもありません。
{
id: 1
radiusId: uniqueId
start: 2017-01-01 14:23:23
upload: 102323
download: 1231556
}
しかし、これらのレコードはたくさんあります。私は、これはSNMP NMSサーバーがデータを処理する方法と似ていると思いますが、これを行うためにRRDを使用していることが分かっています。
現在、私のテストでは、すべてのドキュメントを1つのコレクションにプッシュしています。だから私は)、
Aを求めていますモンゴは)仕事と Bのための適切なツールですデータ
EDIT保存するためのより良い/より好ましい/より最適な方法があります:
OKは、だから、誰かがこれを見て、何か助けを必要とするのを入れなさい。
私はしばらくモンゴーで走っていましたが、私は本当にパフォーマンスに満足していませんでした。これは私が実行していたハードウェア、おそらく私の知識レベル、または私が使っていたフレームワークにまで分けることができます。しかし私は非常にうまくいく解決策を見つけました。 InfluxDBは、これを箱からすぐに処理することができます。その時系列データベースは、実際に格納しようとしているデータです(https://github.com/influxdata/influxdb)。私のパフォーマンスは夜のようになった&日。もう一度、これを更新するだけですべて私のせいかもしれません。
EDIT 2:
だから、しばらく私はモンゴと後のことでしたパフォーマンスをやったことがなかった私はなぜ考え出したと思います。私はフレームワークとしてsailsjsを使用していますが、明らかに巨大なパフォーマンスヒットを持つregexを使ってidで検索しています。私は最終的に流入の代わりにモンゴに戻って移動し、それが良いかどうかを見極める。
保存したいデータの量を分けてください。また、それを共有してください、あなたは特定の時間の後にもそのデータを必要としない場合は、機能を自動削除する必要がありますか? –