【问题标题】:Too many indexes in RavenDBRavenDB 中的索引过多
【发布时间】:2012-06-26 05:21:25
【问题描述】:

是否有公式/估计/感觉根据文档种类的数量、每个文档的字段数量以及它们之间的关系数量向我们展示 RavenDB 数据库中的最佳索引数量是多少?

补充说明:

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

由于 Raven/MaxNumberOfParallelIndexTasks 设置为当前机器中的处理器数量,是否意味着其他索引的索引进程会阻塞,直到当前索引任务结束?或者它们是会反复运行的部分更新?

【问题讨论】:

  • 这是一个有趣的问题。除非创作者进来,否则我们不确定我们会看到具体的答案,但值得 +1
  • @nathan gonzalez 我很期待!

标签: c# performance nosql ravendb


【解决方案1】:

卡维, 一般来说,我们更喜欢较少数量的索引,因为索引确实具有与它们相关的非平凡成本。 也就是说,它们不会花费much,尤其是因为它们是在后台构建的。

我们有很多客户使用几十个索引,我们也有一些客户使用数百个。

MaxNumberOfParallelIndexTasks 控制我们并行更新多少索引,但它的工作方式和原因是一个 复杂的解释。 从您的角度来看,它并不真正适用,因为与 MaxNumberOfParallelIndexTasks 一起,我们还考虑了当前系统负载、io 成本等因素。 在大量索引中,一些索引会在其他索引构建时等待,是的,但这受到一组限制,您不太可能将其视为现实世界中的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多