【发布时间】:2013-12-29 05:31:40
【问题描述】:
我目前正试图说服管理层我们应该将一些数据从 MS SQL 转移到 NOSQL(可能是 MongoDB)。具体来说,我要转移的是我们的 WebStats 系统。目前我们在一个表中大约有 1.5 亿行,并且这个数据集一直在增长(我们存储了一年的统计数据。)
作为测试,我已经运行了 1.5 亿次以下查询:
db.test.insert({ SiteId:1, PageUrl:"/home/", Impressions:1, Date: new Date(), IsCrawler:假,LanguageId:2057,ClientIpAddress:“1.2.3.4”,DateTime:新日期( ), ReferralUrl: "http://www.google.com", UniqueUserGuid:1, BrowserName:"IE", Brow serVersion:11, BrowserAgent:"blah", IsAbcValid:true, hasChecked:true, 连接 速度:1,国家:“英国”,地区:“中部地区”,城市:“考文垂”})
然后我执行一次:
db.test.insert({ SiteId:1, PageUrl:"/home/", Impressions:1, Date: new Date(), IsCrawler:假,LanguageId:2057,ClientIpAddress:“1.2.3.4”,DateTime:新日期( ), ReferralUrl: "http://www.google.com", UniqueUserGuid:1, BrowserName:"IE", Brow serVersion:11, BrowserAgent:"blah", IsAbcValid:true, hasChecked:true, 连接 速度:1,国家:“US”,地区:“纽约”,城市:“纽约”})
接着是:
db.test.ensureIndex( { "PageUrl": 1, "Date": 1, "ClientIpAddress": 1 } )
索引完成后,我运行了以下搜索:
db.test.find({Country:/S/})
它最终找到了我添加的美国文档,但它比在 MS SQL 中花费的时间更长。我是否错误地索引了这个?我基本上只是试图展示可能的性能提升,所以如果有人能指出一个处理非常大数据集的示例,那么我很乐意使用它。
谢谢,
乔
【问题讨论】: