Производительность Neo4j: нужно ли избегать больших степеней узлов? - PullRequest
0 голосов
/ 30 апреля 2018

Я нахожусь в процессе разработки модели данных, которая будет реализована с использованием Neo4j. Это транспортная система, в которой есть несколько станций, между которыми есть несколько транспортных средств.

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

1 Ответ

0 голосов
/ 02 мая 2018

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

Таким образом, если есть 100k: отношения TRAVELS_TO с конкретным местоположением, 100: VISITED отношения с местоположением и только 1: отношения TRAVELS_TO из этого местоположения, то вы будете платить только высокую цену при их прохождении: отношения TRAVELS_TO к местоположению. Если вы пересекаете отношения другого типа и / или направления, вы не будете платить больше из-за 100 000 других отношений.

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

Возможно, вы захотите проверить блог Макса Де Марци на предмет его подходов, когда при построении графика полета / воздушного путешествия , вы можете найти хорошие подходы для использования здесь.

...