Я хочу заменить реляционную базу данных на OrientDB, чтобы выполнять более быстрые запросы для моих сценариев использования. Я хочу, чтобы мой сканер создал представление сайта, всех страниц, на которые он ссылается, и всех страниц, на которые эти страницы ссылаются, и так далее. Затем я хочу запросить по указанным c ссылкам, сколько сайтов и через сколько переходов ведут на эту ссылку / страницу. Терминология: сайт является основным узлом, где хранятся страницы. Пример: { ссылка } Ссылка - это любая ссылка ({ ссылка }) Страницей является любая страница, принадлежащая сайту.
Сайты, ссылки и страницы являются уникальными, но есть бесчисленные возможности для того, как можно добраться до конкретной страницы в Inte rnet. С точки зрения отношений, это будет сайт, на котором есть много страниц, на которых есть много уникальных ссылок. Поэтому у вас есть много-много отношений между страницами и ссылками и один ко многим между сайтами и страницами. Запись сайта рассчитывается при вставке ссылки или страницы в базу данных путем извлечения имени хоста и больше похожа на точку отсчета, чтобы иметь в основном имя группы для страниц (сайт, к которому они принадлежат).
Какой самый эффективный способ смоделировать это в OrientDB и как мне тогда спросить: какие сайты приводят к ссылке X? Какие сайты ведут по ссылке х, упорядоченной по количеству прыжков? Сколько сайтов ведут по ссылке х? Какие сайты ведут по ссылке х максимум на 2 уровня?