Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
14.03.2014, 14:36
|
|||
---|---|---|---|
Хранение деревьев |
|||
#18+
Нужна быстрая база или подход, какой выбрать? 1. Выбирать дерево, целиком или от родителя со всеми детьми.. или с одним ребенком. 2. Причем по выбранной ноде надо сумму столбца с поднодами... Какую базу выбрать или подход? Postgres? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 14:59
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
bernexКакую базу выбрать или подход? Да любую выбирай, как и любой подход. Эти условия ничего не ограничивают. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 15:39
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
bernex, выбрать реляционную и имеющую иерархические запросы, в postgres вроде рекурсивные CTE уже есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 15:56
|
|||
---|---|---|---|
Хранение деревьев |
|||
#18+
bernex, На Postgres вполне прилично работает рекурсия, но Вы определитесь какой метод Вам больше подходит Adjacency List или Nested Sets. Почитайте литературу ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 15:58
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
Yo.!выбрать реляционную и имеющую иерархические запросы Или хранить деревья способом, отличным от самого примитивного, и обойтись без рекурсии. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 16:03
|
|||
---|---|---|---|
Хранение деревьев |
|||
#18+
bernex, Лучше всего хранить деревья в древовидной базе!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 16:07
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
Yo.!bernex, выбрать реляционную и имеющую иерархические запросы, в postgres вроде рекурсивные CTE уже есть. походу в postgres уже все есть, пока кидать mssql) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 17:19
|
|||
---|---|---|---|
Хранение деревьев |
|||
#18+
Dimitry SibiryakovYo.!выбрать реляционную и имеющую иерархические запросы Или хранить деревья способом, отличным от самого примитивного, и обойтись без рекурсии. а что за способы? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 17:26
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
ScareCrowа что за способы? 1) включение в ключ ноды полного пути до неё 2) хранение полного списка связей Оба имеют свои ограничения, но позволяют быстрые выборки без использования рекурсии. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 19:34
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
Dimitry SibiryakovScareCrowа что за способы? 1) включение в ключ ноды полного пути до неё 2) хранение полного списка связей Оба имеют свои ограничения, но позволяют быстрые выборки без использования рекурсии. первый способ - нарушение 1НФ ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 20:07
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
Зайцев Фёдорпервый способ - нарушение 1НФ А второй - третьей (или второй?..). Денормализация - обычный способ увеличения быстродействия. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 20:18
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
Зайцев Фёдор, вы имеет в виду, что пересечение строки и столбца должно содержать единственное значение из некоторого домена? Так там и будет не несколько значений идентификаторов узлов, а единое значение (напр., из специально созданного домена), интепретируемое как путь на графе. В PostgreSQL для этого есть тип данных ltree. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 20:21
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
Dimitry SibiryakovА второй - третьей (или второй?..). Денормализация - обычный способ увеличения быстродействия. второй - вообще не денормализация, по-моему ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 20:24
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
Зайцев Фёдорвторой - вообще не денормализация, по-моему ) Избыточность налицо, так что это по-любому денормализация. Осталось только придумать номер нарушаемой НФ. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 20:24
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
Ывы имеет в виду, что пересечение строки и столбца должно содержать единственное значение из некоторого домена? Так там и будет не несколько значений идентификаторов узлов, а единое значение (напр., из специально созданного домена), интепретируемое как путь на графе. В PostgreSQL для этого есть тип данных ltree. Я имею ввиду возможные проблемы с сохранением ссылочной целостности при таких полях. Можно повесить внешний ключ на ltree (пардон, не знаю PostgreSQL) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 20:26
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
Dimitry SibiryakovЗайцев Фёдорвторой - вообще не денормализация, по-моему ) Избыточность налицо, так что это по-любому денормализация. Осталось только придумать номер нарушаемой НФ. Избыточность лечится очень просто - изменением имени таблицы В том смысле, что тип отношения не "близкий родственник" а "родственник" ^^ ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 20:32
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
На самом деле, избыточность, конечно, присутствует. Но для 3НФ это по барабану, ей вообще не нужно знать про деревья, достижимость и т.д. Не нарушается, короче) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.03.2014, 20:50
|
|||
---|---|---|---|
|
|||
Хранение деревьев |
|||
#18+
Dimitry SibiryakovИли хранить деревья способом, отличным от самого примитивного, и обойтись без рекурсии. вам товарищ можно все, это не лечится ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=35&mobile=1&tid=1552387]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
188ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 299ms |
0 / 0 |