2011-10-10 71 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

你能提供更多细节吗?你的原创/新方法是什么? (将原始集合或“插入”更新为新的集合) –