我们有一个使用MongoDB进行日志记录的应用程序。我们在副本集中运行一对机器。一台机器用于写入,另一台机器用于读取(报告和查找)。
通过查看MongoDB文档,我可以看到副本集有一个“buildIndexes”配置选项。 在仅用于写入的计算机上禁用索引是否存在缺点?我是否需要“锁定”副本集中的机器始终为Master?
http://www.mongodb.org/display/DOCS/Replica+Set+Configuration
答案 0 :(得分:1)
对于写入机器,您似乎需要将buildIndexes选项设置为false:
如果为false,则阻止二级索引 从这个成员创建。 这通常用在机器上 这是纯粹的“备份”机器 永远不会被质疑。没有了 二级索引,成员执行 较少的写作工作,需要更少 内存。注意_id索引仍然是 创建。如果只能设置为false 优先级:0。很少使用它 选项。
但总的来说,我认为对于报告,您需要选择在后台为两台计算机构建索引。但似乎mongodb不能很好地支持background index building副本集。
默认情况下,RavenDB在后台构建索引(仅在一周前添加了构建同步的选项;))。我猜背景索引是报告的最佳解决方案。