私は mongodb の専門家ではないので、現在のサーバーのセットアップについて少し確信が持てません。
私は、単一のインスタンスで mongo3.0.2 を wiretiger で実行しており、読み取り操作と書き込み操作の両方を受け入れています。クライアントからログを収集するので、書き込み負荷はそこそこあります。1 日に 1 回、このログを処理し、集計フレームワークを使用していくつかのメトリックを計算したいのですが、処理するデータ セットは先月のすべてのログのようなもので、すべての計算に約 5 ~ 6 時間かかります。コレクションのロックを回避するために、書き込みと読み取りを分割することを考えています (サーバーは読み取り中にログを書き込み続けます。新しく書き込まれたログはクエリと一致する可能性がありますが、100% の精度は必要ないためスキップできます) )。
つまり、レプリケーションが継続的に実行されていないが、すべての読み取り操作が開始される前に、構成された時間またはそれ以上に開始される読み取り用のセカンダリを使用してセットアップを行いたいです。
私はnode.jsからすべての処理を行っているので、ここに表示される1つのオプションは、[昨日、今日]のようなある期間に作成されたデータをエクスポートし、それをインポートして自分でインスタンスを読み取り、インポートが完了した後に計算することです. 可能なセットアップとしてレプリカ セットとマスター/スレーブ レプリケーションを検討していましたが、説明されているシナリオを実現するための構成方法がわかりませんでした。だから多分私は間違っていて、ここで何かを見逃していますか?これを達成するための他のオプションはありますか?