Граф базы данных запроса - PullRequest
2 голосов
/ 10 июня 2011

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

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

Рассмотрим этот сценарий: теперь конкретный пользователь (который всегда идет в один конкретный магазин, чтобы купить все свои товары) хочет знать альтернативные магазины, откуда он может получить все (или максимальное) количество товаров, которые он хочет купить. 1005 *

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

P.S .: Обратите внимание, что я хотел бы придерживаться только Neo4j, потому что он очень эффективно решает многие другие проблемы с базой данных.

1 Ответ

3 голосов
/ 10 июня 2011

Ваш вариант использования на самом деле идеально подходит для графа дБ. Могу ли я порекомендовать вам реализовать ваши товары в качестве основных узлов и подключить их к вашим магазинам?

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

Надеюсь, это поможет.

...