Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Graph DB vs RDF-storage  [new]
Big Cheese
Member

Откуда:
Сообщений: 8
Доброго времени, уважаемые форумчане!
Нужен совет, какое решение лучше выбрать для хранения связей между сущностями.

В общем, ситуация следующая. Имеются сущности "Каталог" и "Запись каталога". Каталогов может быть множество и они могут быть связаны между собой определенным типом связи (наследование, ассоциация, композиция, агрегация). Тип связи определяет характер работы с зависимыми сущностями, плюс для разных типов может задаваться своя бизнес-логика. Каждая запись каталога может ссылаться на другую запись другого каталога. Задача состоит в том, что достаточно часто нужно найти все зависимости для записи каталога, причем в обе стороны - все записи, на которые ссылается данная запись, и все записи, которые ссылаются на данную. Сами сущности хранятся в PostgreSQL, но для решения вышеприведенной задачи хотелось бы выбрать другое хранилище, так как на SQL это довольно трудно реализовать, да и в плане производительности наверняка будет плохо. По-моему, граф как раз подходящая структура для хранения различного рода связей. Ну и тут возникает вопрос, что лучше выбрать для хранения графа связей, в первую очередь в плане производительности, RDF-хранилище (Apache Jena) или графовые БД (Neo4J)?
29 дек 20, 16:54    [22256610]     Ответить | Цитировать Сообщить модератору
 Re: Graph DB vs RDF-storage  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Big Cheese
но для решения вышеприведенной задачи хотелось бы выбрать другое хранилище, так как на SQL
это довольно трудно реализовать, да и в плане производительности наверняка будет плохо.

Если требуется найти только прямые ссылки, то это тривиальный запрос. Если полное дерево -
чуть более сложный рекурсивный CTE. Производительность - как у обычного индексного
запроса, то есть мгновенно. Но раз Вы PostgreSQL не знаете, то для решения задачи лучше
поискать что-то более знакомое. Если таковое есть, конечно.

PS: А если база в PostgreSQL уже используется и это не новый проект, то лучше Вам с него
уйти и не занимать чужое рабочее место.

Posted via ActualForum NNTP Server 1.5

29 дек 20, 18:27    [22256695]     Ответить | Цитировать Сообщить модератору
 Re: Graph DB vs RDF-storage  [new]
Big Cheese
Member

Откуда:
Сообщений: 8
Dimitry Sibiryakov,
Спасибо Вам за сообщение!

Dimitry Sibiryakov
Если полное дерево -
чуть более сложный рекурсивный CTE. Производительность - как у обычного индексного
запроса, то есть мгновенно.

Откуда такая уверенность?

Dimitry Sibiryakov
А если база в PostgreSQL уже используется и это не новый проект, то лучше Вам с него
уйти и не занимать чужое рабочее место

Dimitry, кто Вы такой, чтобы давать мне подобные советы?
29 дек 20, 20:03    [22256736]     Ответить | Цитировать Сообщить модератору
 Re: Graph DB vs RDF-storage  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Big Cheese
Откуда такая уверенность?

Из личного опыта.

Big Cheese
кто Вы такой, чтобы давать мне подобные советы?

Опытный разработчик БД и приложений к ним.

Posted via ActualForum NNTP Server 1.5

29 дек 20, 20:07    [22256741]     Ответить | Цитировать Сообщить модератору
 Re: Graph DB vs RDF-storage  [new]
Big Cheese
Member

Откуда:
Сообщений: 8
Dimitry Sibiryakov,
опытный разработчик БД не станет утверждать это
чуть более сложный рекурсивный CTE, не зная схем таблиц сущностей, в каком виде организованы ссылки на записи каталога. Если бы можно было использовать "чуть более сложный рекурсивный CTE", я не создавал бы здесь темы, опыта в PostgreSQL у меня достаточно. Суть темы совершенно другая.
29 дек 20, 21:43    [22256776]     Ответить | Цитировать Сообщить модератору
 Re: Graph DB vs RDF-storage  [new]
servit
Member

Откуда: г. Кишинёв, Республика Молдова
Сообщений: 3141
Блог
Big Cheese

Попробуйте ещё поспрашивать в соседней ветке: Проектирование БД
Возможно дело не в хранилище, а модели данных.

PS: а ещё бывают многомерные, мультимодельные СУБД.
29 дек 20, 22:04    [22256784]     Ответить | Цитировать Сообщить модератору
 Re: Graph DB vs RDF-storage  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Big Cheese
опытный разработчик БД не станет утверждать это чуть более сложный рекурсивный CTE, не
зная схем таблиц сущностей, в каком виде организованы ссылки на записи каталога.

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

Если у Вас не получается написать простой и быстрый запрос, значит ссылки организованы
неправильно. Только и всего. А отсюда следует, что Вам таки следует использовать СУБД с
которой Вы знакомы и для которой способны сделать оптимальную структуру ссылок, которая и
приведёт к простым и быстрым запросам. ЧиТД.

Posted via ActualForum NNTP Server 1.5

29 дек 20, 23:07    [22256807]     Ответить | Цитировать Сообщить модератору
 Re: Graph DB vs RDF-storage  [new]
Ы2
Member

Откуда:
Сообщений: 214
Big Cheese, если вам хочется графов и уже есть PostgreSQL, посмотрите в сторону AGE. Это бывшая AgensGraph, ставшая расширением. Дает графовую модель и язык запросов.
30 дек 20, 23:26    [22257464]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить