Нептун-Гремлин- Python | Лучшие практики для масштабирования сетевого анализа и обслуживания вариантов использования, таких как рекомендации в реальном времени - PullRequest
0 голосов
/ 26 марта 2020

У меня есть общий вопрос c о лучших практиках использования Neptune DB в качестве сетевой базы данных и ее способности масштабироваться для сложных вычислений. Я хочу разработать систему рекомендаций для пользователей, в которой входящим пользователям на платформе будут предложены другие пользователи, которым они могут следовать, чтобы расширить сеть.

Для реализации простого метода, такого как Triadi c Закрытие, должен ли я использовать запросы gremlin в сетевой БД (AWS Neptune в моем случае) для генерации рекомендаций? Я считаю, что в этом случае мне пришлось бы создавать python сценарии, которые распараллеливают запросы для нескольких узлов и генерируют рекомендации для каждого узла в масштабе.

ИЛИ - это более распространенная практика для хранения сетевые данные в виде узлов, ребер и их свойств в реляционную базу данных, а затем выполнить вычисления для них, запустив SQL запросов для загрузки сетевых данных в python, а затем используя пакеты, такие как NetworkX поверх который. В этом случае мне не придется беспокоиться о пакетных вычислениях, так как об этом позаботится реляционная база данных, такая как Redshift. Однако я бы писал python логики для реализации таких методов, как триади c замыкание.

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

В приведенном выше контексте ниже приведены вопросы, на которые я ищу ответы:

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

  2. Может ли Neptune + Gremlin заменить python пакеты, такие как NetworkX, для анализа сети и измерения центральности?

  3. Является ли Neptune DB идеальным только как хранилище данных ИЛИ может ли оно также поддерживать комплексный анализ сети и обслуживание рекомендаций?

Любая информация / ресурсы по этому вопросу были бы действительно полезны!

1 Ответ

1 голос
/ 28 марта 2020

Определенно возможно сделать замыкание триады c в Гремлин. Я также видел, как специалисты по данным используют NetworkX и Gremlin вместе, запустив клиент gremlin- ​​python в блокноте Jupyter. Так как этот вопрос вполне определен c для Amazon Neptune, вы можете разместить его на форуме поддержки Neptune по адресу [1]. Есть также несколько полезных рецептов Gremlin на [2]

Если вы отправите сообщение на форум поддержки, я уверен, что кто-то ответит.

...