Mongo に保存された、最適化もインデックスもされていない 1 億件のツイートのデータセットがあります。
先月のすべてのツイートを別のサーバーにコピーする必要があるのですが、これを行う最善の方法は何ですか?
私のアイデアは、Ruby スクリプトを使用して関連するツイートを抽出し、サーバー上の新しいデータベースにコピーしてから、mongo copyDatabase コマンドを実行してコピーすることでした。とてつもなく時間がかかるのですが、他に方法はありますか?
require 'mongo_mapper'
MongoMapper.database = 'twitter'
require './models'
tweets = TwitterTweet.where(:created_at => {"$gt" => 1.month.ago}).all; # about 15 million
MongoMapper.database = 'monthly'
# copy the tweets over to the new db
tweets.each do |tweet|
tweet.save!
end;