RavenDB中的索引太多

时间:2012-06-26 05:21:25

标签: c# performance nosql ravendb

根据文档类型的数量,每个文档的字段数量和它们之间的关系数量,是否有一个公式/估计/感觉向我们展示了RavenDB数据库中索引的最佳数量?

附加说明:

据我所知(第一)我们在RavenDB中查询索引,而不是文档和(第二)索引就像物化视图一样,因此它们可能会花费很多。我需要知道有多少索引会损害RavenDB在更新它们时的性能并使延迟太大而无法忽略?

当Raven / MaxNumberOfParallelIndexTasks设置为当前计算机中的处理器数量时,它是否意味着其他索引的索引过程将阻塞,直到当前索引任务结束?或者它们是一次又一次运行的部分更新?

1 个答案:

答案 0 :(得分:3)

卡韦赫, 通常,我们更喜欢较少数量的索引,因为索引确实具有与之相关的非常重要的成本。 也就是说,它们不需要花费much,特别是因为它们是在后台构建的。

我们有许多客户使用数十个索引运行,而且我们有一些运行数百个。

MaxNumberOfParallelIndexTasks控制我们并行更新的索引数,但它的工作原理和原因是要解释的复杂。 从您的角度来看,它并不真正适用,因为除了MaxNumberOfParallelIndexTasks,我们还会考虑当前系统负载,成本等因素。 在大量索引中,某些索引会在其他索引构建时等待,是的,但这受到一组限制,并且您不太可能在实际情况中将此视为问题。