2011-10-10 67 views
2

我想匿名大約600k條記錄的大型數據集(刪除諸如電子郵件等敏感信息),以便它可以用於一些性能測試。MongoDB - 匿名600k記錄

我正在使用Scala(Casbah)和Mongo。實際的腳本非常簡單直接。當我運行這個腳本時,整個過程開始非常快 - 每2-3秒解析1000條記錄,但速度非常緩慢,並且開始非常緩慢地爬行。

我知道這很模糊,沒有太多的細節,但任何想法爲什麼會發生這種情況,以及有關我如何加快速度的任何提示?

+0

在匿名的任何字段上是否有任何索引? –

+1

你可以分享你的'mongostat'的一些輸出嗎?是否有太多的寫鎖和頁面錯誤? – DhruvPathak

+1

你在64位機器上嗎? – Matt

回答

1

原來是驅動程序問題,而不是Mongo問題。當我使用mongo外殼嘗試使用相同的插件時,它沒有發生任何冒汗。

UPDATE

所以,我想這兩種方法。插入現有集合並將結果轉儲到新集合中。第一種方法對我來說更快。當然,人們不應該認爲這是永遠的事實,必須在第二種方法選擇第一種方法之前進行基準測試。在這兩種情況下,Mongo速度非常快(意思是 - 完成這個任務並不需要幾個小時)。我用來連接Mongo的Java接口出現了一個問題,這更像是我的一個愚蠢的錯誤。

+0

你能提供更多細節嗎?你的原創/新方法是什麼? (將原始集合或「插入」更新爲新的集合) –