Zu viele Indizes in RavenDB

9

Gibt es eine Formel / Schätzung / Gefühl, die uns zeigt, wie die optimale Anzahl von Indizes in einer RavenDB-Datenbank je nach Anzahl der Dokumentarten, Anzahl der Felder pro Dokument und Anzahl der Beziehungen zwischen ihnen ist?

Zusätzliche Hinweise:

Wie ich (1.) verstehe, fragen wir Indizes in RavenDB ab, nicht Dokumente und (2.) Indizes sind wie materialisierte Ansichten, so dass sie viel kosten können. Ich muss wissen, wie viele Indizes die Leistung von RavenDB bei der Aktualisierung beeinträchtigen und die Latenz zu groß machen, um sie zu ignorieren.

Da Raven / MaxNumberOfParallelIndexTasks auf die Anzahl der Prozessoren in der aktuellen Maschine eingestellt ist, bedeutet dies, dass der Indizierungsprozess für andere Indizes blockiert wird, bis die aktuellen Indizierungsaufgaben beendet sind. Oder sind sie Teilupdates, die immer wieder ausgeführt werden?

    
Kaveh Shahbazian 26.06.2012, 05:21
quelle

1 Antwort

3

Kaveh, Im Allgemeinen bevorzugen wir eine kleinere Anzahl von Indizes, da Indizes mit nicht trivialen Kosten verbunden sind. Das heißt, sie kosten much nicht, vor allem, da sie im Hintergrund erstellt werden.

Wir haben viele Kunden, die mit mehreren Dutzend Indizes arbeiten, und wir haben einige, die mit einigen hundert laufen.

MaxNumberOfParallelIndexTasks steuert, wie viele Indizes wir parallel aktualisieren, aber wie und warum es funktioniert, ist ein -Bit -Komplex zur Erklärung. Aus Ihrer Sicht trifft es nicht wirklich zu, da wir neben MaxNumberOfParallelIndexTasks auch Dinge wie die aktuelle Systemlast, io-Kosten usw. berücksichtigen. In einer großen Anzahl von Indizes würden einige Indizes warten, während andere sich entwickeln, ja, aber das unterliegt einer Reihe von Beschränkungen, und Sie werden wahrscheinlich nicht in der Lage sein, dies in realen Situationen als ein Problem zu sehen.

>     
Ayende Rahien 26.06.2012, 06:57
quelle

Tags und Links