Как работает ArangoDB для эффективного обхода gragh - PullRequest
0 голосов
/ 07 мая 2020

Я новичок в ArangoDB. После прочтения официального документа я знаю, что функция графика ArangoDB использует edge collection для определения отношений между вершинами с атрибутами _from и _to, которые будут относиться к начальной и конечной вершинам. Индекс будет создан для этих двух атрибутов автоматически для быстрого доступа.

С этой структурой производительность обхода gragh будет сильно зависеть от эффективности индекса, определенного в атрибутах from_ и to_, но это кажется, что одного индекса недостаточно для поддержки эффективного обхода gragh?

Я думал, что с учетом вершины, только небольшое подмножество вершин будет задействовано для обхода (например, обход связанного списка для данного узла ), но со структурой коллекции индексов и краев для выполнения запроса будет задействована вся коллекция краев (хотя индекс поможет избежать обхода всей таблицы от первого документа до конечного).

Также , при решении практической задачи с графом может быть много вершин для посещения, даже с помощью индекса, это также неизбежно вызовет плохую производительность.

Итак, я бы спросил со структурой коллекции ребер, как ArangoDB реализован для эффективного обхода графа

...