約625,000個のオブジェクトのコレクションがあります。
毎晩cronを介して、このデータの更新されたファイル(tsv)をデータプロバイダーから取得し、それらをmongodbに再インポートする必要があります。
データを消費しているウェブサイト/サービスとそのユーザーを中断することなくこれを行うための最良の方法は何ですか?mongoimport --upsertをコレクションに直接追加するのが最善の方法ですか?とても遅いです。
コレクションのコピーを含む他の方法を考える必要がありますか?
約625,000個のオブジェクトのコレクションがあります。
毎晩cronを介して、このデータの更新されたファイル(tsv)をデータプロバイダーから取得し、それらをmongodbに再インポートする必要があります。
データを消費しているウェブサイト/サービスとそのユーザーを中断することなくこれを行うための最良の方法は何ですか?mongoimport --upsertをコレクションに直接追加するのが最善の方法ですか?とても遅いです。
コレクションのコピーを含む他の方法を考える必要がありますか?
mongoimport --upsertをコレクションに直接追加するのが最善の方法ですか?とても遅いです。
これは機能しますが、私の経験でmongoimport
は遅くて扱いにくいものでした。また、他にもいくつかの重大な制限があります。進行状況を追跡する機能、チェック/検証の場所、実行内容のログがありません。
コレクションのコピーを含む他の方法を考える必要がありますか?
ここでの別の方法は、これを行うスクリプトを作成することです。ほとんどの言語では、これは非常に簡単です。
これにより、進行状況を追跡し、不良データを処理することができます。インポートが特に遅い場合は、プロセスをフォークして作業を分割することもできます。
速度について
625kオブジェクトを更新していることを忘れないでください。1秒あたり1,000回の更新を取得できる場合でも、更新には10分かかります。インポートプロセス中に監視を実行mongostat
または確認する場合は、実行されている作業の量を把握する必要があります。