Mongoimport:データ消費を中断することなく、コレクションを毎晩更新します

StackOverflow https://stackoverflow.com/questions/8301421

  •  22-10-2019
  •  | 
  •  

質問

約625,000のオブジェクトのコレクションがあります。

Cronを介して毎晩、このデータの更新されたファイル(TSV)をデータプロバイダーから取得し、それらをMongoDBに再輸入する必要があります。

データを消費しているウェブサイト/サービスとそのユーザーを中断せずにこれを行うための最良の方法は何ですか? Mongoimport -UpSertはコレクションの直接最良の方法ですか?とても遅いです。

コレクションのコピーを含む他の方法について考える必要がありますか?

役に立ちましたか?

解決

Mongoimport -UpSertはコレクションの直接最良の方法ですか?とても遅いです。

これはうまくいきますが、私の経験では mongoimport ゆっくりと扱いにくい。また、他にもいくつかの深刻な制限があります。進捗状況を追跡する能力、チェック/検証のスポットなし、それが何をしているのかのログもありません。

コレクションのコピーを含む他の方法について考える必要がありますか?

ここでの代替方法は、これを行うスクリプトを書くことです。ほとんどの言語では、これはかなり些細なことです。

これにより、進行状況を追跡し、悪いデータを処理することができます。インポートが特に遅くなった場合は、プロセスを分岐して作業を分割することもできます。

スピードについて

625Kオブジェクトを更新していることを覚えておいてください。 1kの更新/秒を取得できる場合は、まだ更新されます。走ったら mongostat または、輸入プロセス中に監視を確認すると、どのくらいの作業が行われているかについてのアイデアを得る必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top