LINUX.ORG.RU

Как хранить граф в реляционной БД?

 ,


0

2

Поверхностный гуглёж подсказал следующий формат:

   out   |    in
_________|__________
    A    |    B
    A    |    C
    B    |    D
    C    |    B
    C    |    D

Т.е. указываем одни рёбра. Кажется, это не очень быстро. Посоветуйте, пожалуйста, чтива.

P.S. Основная база - PostgreSQL. Хотелось бы оставить все данные в ней.

Смотря какие операции нужны. Хранить можно много как, хоть в JSON засунуть и заgzipовать в BLOB-поле.

Legioner ★★★★★ ()
Ответ на: комментарий от POLTER

А как обходить граф? Имеет ли смысл хранить во второй таблице смежные вершины? Если понадобится писать свойства рёбер?

wyldrodney ()
Ответ на: комментарий от wyldrodney

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

POLTER ★★ ()

Остановился на LTree для PostgreSQL. http://leopard.in.ua/2013/09/02/postgresql-ltree/

У этого модуля есть ограничение на 65 килобайт на поле. Стало интересно: сколько пользователей «влезет».

У меня соц. сеть с реферальной регистрацией. Пусть, каждый пользователь приводит в среднем 1.001 пользователя (реферала).

Так, если корневой пользователь наберёт 50 000 потомков, а это 9 999 552 пользователей, запись пути от корневого родителя до любого предка будет не более 58 995 симолов. Масштаб! :)

P.S. В документации говорится о 65Kb. Хочется верить, что это байты, но никак не биты: привык что байты обозначаются большой «B».

wyldrodney ()

Охренеть, Вылдротень вернулсо!

Как твоя игра поживает? Как секс-зависимость? Велком бек он боард :)

anonymous ()
Ответ на: комментарий от anonymous

Если откровенно, она недолюбливает ЛОР, и в этом корень разногласий.

Отдыха тут нет: пива нет, водки нет, мяса нет, бляди страшные, местные - быдло, ни одного театра... Тут - фрилансю :)

wyldrodney ()
Ответ на: комментарий от wyldrodney

Если откровенно, она недолюбливает ЛОР, и в этом корень разногласий.

Охренеть! =-O Ты же в последнее время почти не заходишь. Да и мало ли ты где сидишь. Похоже просто на попытку дое*ться на пустом месте, сорри :(

Отдыха тут нет: пива нет, водки нет, мяса нет, бляди страшные, местные - быдло, ни одного театра... Тут - фрилансю :)

Вали оттуда поскорее, у этой страны нет будущего, гореть ей в клоаке огненной! Чо, неужели нет стран с похожим климатом, но без вышеописанных critical bug'ов?

anonymous ()
Ответ на: комментарий от anonymous

На Тенерифе мне понравилось, +23..+25 круглый год, правда, дожди всего пять дней в году. Пива хоть залейся. Девки отличные. Жрачка вкусная. Народ цивильный, университет даже есть, джазовые фестивали проводятся.

Но — надо знать испанский, иначе не выкрутишься. И иммиграционные правила жёсткие шо пездец, а сколько там можно по туристической визе тусить — не помню.

anonymous ()

Возьми лучше все-таки что-нибудь спецовое для графов. Кучу головной боли с себя снимешь

boombick ★★★★★ ()

кури рекурсивные запросы для постгреса

Deleted ()

Как решил задачу то? На чем остановился?

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.