Как реализовать мультиклиентские возможности в Neo4j? - PullRequest
0 голосов
/ 11 декабря 2018

Исходная ситуация

У меня есть несколько независимых и несвязных графов, каждый из которых имеет иерархическую структуру с локальным корневым элементом.Каждый из этих графиков состоит примерно из 8 миллионов узлов и 40 миллионов взаимосвязей.Я успешно создал трехзначное число запросов Cypher, которые теперь должны применяться только к одному графу, а не ко всем графам.График, к которому должны применяться запросы, определяется его корневым узлом.

grpah

Задача, которую необходимо решить

Как можноЯ понимаю, что это своего рода псевдо-мультиклиентская возможность для графа, если все графы должны оставаться в общей базе данных Neo4j по причинам отчетности и сопоставления с образцом?


подход к проблеме / предварительный результат

  • Реализовать один кратчайший путь к данному корневому элементу для целей выбора в самом деле каждый запрос в начале? Минусы:

    • ожидаемые огромные потери производительности
    • при высоких затратах на разработку
  • Расширить каждый график с помощьюотдельный, дополнительный ярлык? Минусы:

    • сложные запросы, большие усилия по разработке

1 Ответ

0 голосов
/ 11 декабря 2018

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

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

...