2
私は4スレッドで1300万レコードのMongoコレクションにアクセスしているスカラアプリケーションを持っています。MongoDBの同時読み込み操作
私は4つのスレッドが同時にMongoにアクセスし、同じレコードを決して読まないようにします。また、パス3でスレッド2によってアクセスされるレコードは、将来他のスレッドによってアクセスされるべきではない。
私はそれをどのように達成することができますか?
私は4スレッドで1300万レコードのMongoコレクションにアクセスしているスカラアプリケーションを持っています。MongoDBの同時読み込み操作
私は4つのスレッドが同時にMongoにアクセスし、同じレコードを決して読まないようにします。また、パス3でスレッド2によってアクセスされるレコードは、将来他のスレッドによってアクセスされるべきではない。
私はそれをどのように達成することができますか?
ディスパッチャ機能に適しています。
DispatcherはすべてのIDを読み取ってから、roundRobin
キュープッシュIDをf1,f2,f3,f4
にする必要があります。 SINGLEドキュメントからデータを読み取ることを妨げるロック機構は存在しないので、IDが送出されたときにunderling関数はすべての操作を実行する必要があります。
あなたが使っているlibを示すことは役に立ちます – cchantep
'number'型フィールドはありますか?もしそうなら、 '$ mod'演算子を使ってデータを4つのスレッドに分割することができます。次のようになります: 'db.collection.find({numField:{$ mod:[4,0]}})' in thread-0 – Shawyeok