powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Хранение деревьев
19 сообщений из 19, страница 1 из 1
Хранение деревьев
    #38586370
bernex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужна быстрая база или подход, какой выбрать?

1. Выбирать дерево, целиком или от родителя со всеми детьми.. или с одним ребенком.
2. Причем по выбранной ноде надо сумму столбца с поднодами...

Какую базу выбрать или подход?
Postgres?
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586416
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bernexКакую базу выбрать или подход?
Да любую выбирай, как и любой подход. Эти условия ничего не ограничивают.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586499
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bernex,

выбрать реляционную и имеющую иерархические запросы, в postgres вроде рекурсивные CTE уже есть.
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586526
ARTURV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bernex,

На Postgres вполне прилично работает рекурсия, но Вы определитесь какой метод Вам больше подходит
Adjacency List или Nested Sets. Почитайте литературу
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586529
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!выбрать реляционную и имеющую иерархические запросы
Или хранить деревья способом, отличным от самого примитивного, и обойтись без рекурсии.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586532
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bernex,
Лучше всего хранить деревья в древовидной базе!!!
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586539
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!bernex,

выбрать реляционную и имеющую иерархические запросы, в postgres вроде рекурсивные CTE уже есть.
походу в postgres уже все есть, пока кидать mssql)
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586652
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovYo.!выбрать реляционную и имеющую иерархические запросы
Или хранить деревья способом, отличным от самого примитивного, и обойтись без рекурсии.

а что за способы?
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586663
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowа что за способы?
1) включение в ключ ноды полного пути до неё
2) хранение полного списка связей
Оба имеют свои ограничения, но позволяют быстрые выборки без использования рекурсии.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586794
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovScareCrowа что за способы?
1) включение в ключ ноды полного пути до неё
2) хранение полного списка связей
Оба имеют свои ограничения, но позволяют быстрые выборки без использования рекурсии.

первый способ - нарушение 1НФ
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586827
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорпервый способ - нарушение 1НФ
А второй - третьей (или второй?..). Денормализация - обычный способ увеличения быстродействия.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586835
Ы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ы
Гость
Зайцев Фёдор,

вы имеет в виду, что пересечение строки и столбца должно содержать единственное значение из некоторого домена? Так там и будет не несколько значений идентификаторов узлов, а единое значение (напр., из специально созданного домена), интепретируемое как путь на графе. В PostgreSQL для этого есть тип данных ltree.
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586836
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА второй - третьей (или второй?..). Денормализация - обычный способ увеличения быстродействия.
второй - вообще не денормализация, по-моему )
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586839
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев Фёдорвторой - вообще не денормализация, по-моему )
Избыточность налицо, так что это по-любому денормализация. Осталось только придумать номер
нарушаемой НФ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586840
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ывы имеет в виду, что пересечение строки и столбца должно содержать единственное значение из некоторого домена? Так там и будет не несколько значений идентификаторов узлов, а единое значение (напр., из специально созданного домена), интепретируемое как путь на графе. В PostgreSQL для этого есть тип данных ltree.
Я имею ввиду возможные проблемы с сохранением ссылочной целостности при таких полях. Можно повесить внешний ключ на ltree (пардон, не знаю PostgreSQL)
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586842
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЗайцев Фёдорвторой - вообще не денормализация, по-моему )
Избыточность налицо, так что это по-любому денормализация. Осталось только придумать номер
нарушаемой НФ.

Избыточность лечится очень просто - изменением имени таблицы
В том смысле, что тип отношения не "близкий родственник" а "родственник" ^^
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586848
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле, избыточность, конечно, присутствует. Но для 3НФ это по барабану, ей вообще не нужно знать про деревья, достижимость и т.д. Не нарушается, короче)
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586853
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovИли хранить деревья способом, отличным от самого примитивного, и обойтись без рекурсии.

вам товарищ можно все, это не лечится
...
Рейтинг: 0 / 0
Хранение деревьев
    #38586859
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!вам товарищ можно все
Да, я всё могу. И даже использовать index range scan вместо nested loop.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Хранение деревьев
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]