2017-09-26 6 views
2

Ich modelliere meine ArangoDB Datenbank und die Liste der Edge Collections, die ich erstellt habe, wächst und wächst. Ich könnte einfach alle Kanten in einer einzigen Kantensammlung namens Relationen mit einem Typ Parameter kombinieren. Es würde sicherlich meine Liste von Tabellen bereinigen, aber würde es irgendwelche Auswirkungen auf meine Traversal-Abfragen haben? Würde es positive oder negative Auswirkungen haben?ArangoDB Edge Modeling

Antwort

1

Sie sollten einen vertex-zentrischen Index für die Kantensammlung hinzufügen. Auf diese Weise können Sie eine einzelne Kantensammlung ohne große Auswirkungen auf die Leistung verwenden.

Sie können im Wesentlichen Indizes für das Feld "_from" oder "_to" und Ihr type Attribut hinzufügen. Wenn Ihre Traversalabfragen beide Richtungen benötigen, müssen Sie zwei Indizes hinzufügen, einen für "_to" + "_ type" und einen für "_from" + "_ type"

Das Beispiel in der Dokumentation schlägt nur einen Index für die Sprunglisten vor, aber Sie sollte wahrscheinlich einen Hash-Index verwenden, weil das type Feld einen diskreten Wert enthält.

https://docs.arangodb.com/3.2/Manual/Indexing/IndexBasics.html#vertex-centric-indexes