我可以禁用仅用于写入的MongoDB主服务器上的索引吗?

时间:2011-06-28 20:55:32

标签: mongodb

我们有一个使用MongoDB进行日志记录的应用程序。我们在副本集中运行一对机器。一台机器用于写入,另一台机器用于读取(报告和查找)。

通过查看MongoDB文档,我可以看到副本集有一个“buildIndexes”配置选项。 在仅用于写入的计算机上禁用索引是否存在缺点?我是否需要“锁定”副本集中的机器始终为Master?

http://www.mongodb.org/display/DOCS/Replica+Set+Configuration

1 个答案:

答案 0 :(得分:1)

对于写入机器,您似乎需要将buildIndexes选项设置为false:

  

如果为false,则阻止二级索引   从这个成员创建。   这通常用在机器上   这是纯粹的“备份”机器   永远不会被质疑。没有了   二级索引,成员执行   较少的写作工作,需要更少   内存。注意_id索引仍然是   创建。如果只能设置为false   优先级:0。很少使用它   选项。

但总的来说,我认为对于报告,您需要选择在后台为两台计算机构建索引。但似乎mongodb不能很好地支持background index building副本集。

默认情况下,

RavenDB在后台构建索引(仅在一周前添加了构建同步的选项;))。我猜背景索引是报告的最佳解决方案。