ASP.Net Web アプリケーションを構築しており、MongoDB (リモートでホストされている) からデータにアクセスしたいと考えています。私のドキュメントはすべて次のようになります (Utc フィールドのインデックスが確保されています)。
{
"_id" : { "$oid" : "509501393e8785025c10bc21" },
"Index" : 1,
"Url" : "http:...",
"CameraId" : 123,
"Utc" : { "$date" : 1351955858006 }
}
ユーザー側のパフォーマンスを考慮して、このデータを最大速度で取得したいと考えています。私が試したオプションの 1 つは、MongoDB C# ドライバーを使用して 2 つの日付 (Utc) の間のドキュメントをクエリする Page.aspx で JSON を介してローカル Web サービスを呼び出すことです。それは機能しますが、Web サービスを使用すると、要求/応答サイクルに余分なミリ秒が追加されるようです (db.foo.findOne() を使用した単一ドキュメントの要求は、平均で 1.3 秒で処理されます)。そのコレクション内のドキュメントの平均数は 50,000 で、最大 30,00,000 まで増加します。
私の質問は次のとおりです。
- Web サービスを使用すると、要求/応答サイクルに遅延 (ミリ秒) が追加されると言うのは正しいですか? (MongoDB が実際にクエリを完了するのに数ミリ秒かかるため)
- 2 番目のオプションは、MongoDB のHTTP / REST インターフェイスを使用することです。そうすれば、Web サービスを回避し、MongoDB に直接クエリを実行できます。ここで、あなたの意見が必要です。
- HTTP/REST を使用して 2 つの日付間で MongoDB をクエリする方法はありますか?
- HTTP/REST を使用して '>' および '<' 条件で MongoDB をクエリする方法はありますか?,
- セキュリティの観点から Page.aspx で DB に直接アクセスするとどうなりますか?
- 上記のスキーマに対する他のクエリ代替 OR 最適化はありますか?
私の関連する質問はこちらです。
よろしく。