我即将使用MongoDB作为存储部署Web应用程序。问题是,本地环境下可以随时构建索引(也可以自动完成)-但在生产环境中不应该这样做。现在切换到生产环境时,我不确定何时以及多久需要构建索引。我应该每天做吗?每周做一次?我的项目类似于一个小型社交网络-所以假设有一天会有约100,000个用户。根据数据量的大小,可能需要几个小时甚至几天来构建索引。
我打算在后台构建我的索引(请参见此处http://www.mongodb.org/display/DOCS/Indexing+as+a+Background+Operation)。这仍会导致写锁定,但构建工作将暂停以允许其他读者和写入者访问数据库 - 因此,如果对数据库有重负载,后台索引构建仍会以负面方式影响性能。因此,它应该在流量最小时段内完成(在此处进行研究http://www.javabeat.net/articles/353-indexing-in-practice-using-mongodb-1.html)。
有人有经验在生产环境中何时以及多久创建索引吗(最好是使用大量数据)? 我正在使用Rails与Mongoid(http://mongoid.org/)。
我打算在后台构建我的索引(请参见此处http://www.mongodb.org/display/DOCS/Indexing+as+a+Background+Operation)。这仍会导致写锁定,但构建工作将暂停以允许其他读者和写入者访问数据库 - 因此,如果对数据库有重负载,后台索引构建仍会以负面方式影响性能。因此,它应该在流量最小时段内完成(在此处进行研究http://www.javabeat.net/articles/353-indexing-in-practice-using-mongodb-1.html)。
有人有经验在生产环境中何时以及多久创建索引吗(最好是使用大量数据)? 我正在使用Rails与Mongoid(http://mongoid.org/)。