|
|
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
RWR Нужно будет выводить своих друзей, друзей моих друзей и так до конца иерархии. Извращение, но хочу попробовать. Иерархия среди друзей ??? Несомненно извращение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 08:14 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)RWR Нужно будет выводить своих друзей, друзей моих друзей и так до конца иерархии. Извращение, но хочу попробовать. Иерархия среди друзей ??? Несомненно извращение Я знаю толк в извращениях :-) По сути не иерархия нужна, а отображение связей кто с кем дружит. По типу как у контакта, но с возможностью просматривать не только своих друзей, но и друзей моих друзей и т.д. РСУБД подойдут под это дело оптимально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 08:34 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
RWRGluk (Kazan)RWR Нужно будет выводить своих друзей, друзей моих друзей и так до конца иерархии. Извращение, но хочу попробовать. Иерархия среди друзей ??? Несомненно извращение Я знаю толк в извращениях :-) По сути не иерархия нужна, а отображение связей кто с кем дружит. По типу как у контакта, но с возможностью просматривать не только своих друзей, но и друзей моих друзей и т.д. РСУБД подойдут под это дело оптимально? Всегда подходили, но если Мусье действительно знает толк в извращениях, то Cache несомненно ваше ВСЕ. Даже спорить не буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 09:37 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
RWRПо сути не иерархия нужна, а отображение связей кто с кем дружит. По типу как у контакта, но с возможностью просматривать не только своих друзей, но и друзей моих друзей и т.д. РСУБД подойдут под это дело оптимально?Вы сомневаетесь? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 09:46 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
capscomА к чему она тогда сводится? К обыкновенной сети: сущности-ссылки. Легко моделируется на РСУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 10:05 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Всегда подходили, но если Мусье действительно знает толк в извращениях, то Cache несомненно ваше ВСЕ. Даже спорить не буду. Cache не пойдет - у нее только один индекс. Запрос типа: найти всех родителей ребенка - full scan. Как раз в РСУБД граф легко представляется двумя таблицами со всеми нужными индексами и вперед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 10:11 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
_модGluk (Kazan)Всегда подходили, но если Мусье действительно знает толк в извращениях, то Cache несомненно ваше ВСЕ. Даже спорить не буду. Cache не пойдет - у нее только один индекс. Запрос типа: найти всех родителей ребенка - full scan. Как раз в РСУБД граф легко представляется двумя таблицами со всеми нужными индексами и вперед. это была ирония ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 10:56 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)это была ирония С Cache по другому нельзя :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 11:24 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
capscomВечер добрый! Стоит задача для дипломной работы - разработать методику, позволяющую максимально быстро выбирать всех потомков (или предков) заданной записи или группы записей, в том числе и потомков (или предков) удаленных от заданной записи на заданное число шагов или вплоть до низа(конца) иерархической лестницы. Структура - ациклический направленный граф. Различные методы организации деревьев описаны в книге Селко Trees and Hierarchies in SQL . В SQL Server 2008 появился новый тип данных hierarchyid, который специально предназначен для работы с деревьями. О работе с ним можно почитать в книге Бен-Гана Inside Microsoft® SQL Server® 2008: T-SQL Querying . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 15:53 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Спасибо всем)) С БД тогда мудрить не буду - остановлюсь на РСУБД. Flying Dutchman , а книг на русском не встречали, по представлению деревьев??? Английский знаю, но все-же приятнее на русском читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 17:54 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Огроменное спасибо участникам ветки! Буду юзать РСУБД и не усложнять себе жизнь. Остался тока узнать, а насколько производительны иерархические запросы у Оракла (все таки 'длинные' ветки придется выводить)??? И какой подход будет работать "шустрее" на графе: 1) Использовать иерархические запросы Оракла 2) Сделать промежуточную таблицу, в которой храниться все пути между любыми связанными записями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 18:04 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
RWRСпасибо всем)) С БД тогда мудрить не буду - остановлюсь на РСУБД. Flying Dutchman , а книг на русском не встречали, по представлению деревьев??? Английский знаю, но все-же приятнее на русском читать. Честно говоря, даже не знаю, существуют ли книги на русском по этой теме. Все, что я видел - несколько статей в Интернете о работе с деревьями на SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 18:12 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
В pgsql тоже полно инструментов для работы с деревьями. ltree аналогичен M$SQL. Есть аналог ораклового connectby, а в 8.4 иерархические запросы поддерживаются ещё и в соответствии со стандартами(WITH RECURSIVE). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 18:39 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
capscomИ какой подход будет работать "шустрее" на графе: 1) Использовать иерархические запросы Оракла 2) Сделать промежуточную таблицу, в которой храниться все пути между любыми связанными записями.Очень сильно зависит от объемов, типов индекса (b+ tree не очень подходит) и качества оптимизатора. 2) не реляционно, сложно в сопровождении и очень дорого по изменениям. 1) не прерогатива Оракла - with есть во многих СУБД (SQL3). Да и connect by не только Оракл поддерживает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 19:51 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
FavncapscomИ какой подход будет работать "шустрее" на графе: 1) Использовать иерархические запросы Оракла 2) Сделать промежуточную таблицу, в которой храниться все пути между любыми связанными записями.Очень сильно зависит от объемов, типов индекса (b+ tree не очень подходит) и качества оптимизатора. 2) не реляционно, сложно в сопровождении и очень дорого по изменениям. 1) не прерогатива Оракла - with есть во многих СУБД (SQL3). Да и connect by не только Оракл поддерживает :) Спасибо, буду иметь в виду. Только не очень понятно вот это: автор 2) не реляционно, сложно в сопровождении и очень дорого по изменениям. "Не реляционно" - это имелось в виду при использовании не реляционной СУБД или подход не реляционный?? Если все же подход, то что значит "реляционный подход" ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 20:17 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Senya_L: - учебное решение для задачи со связями. Но в этом решении не указан смысл связи - подчиненный преподаватель, студент у препода, итд. Т.е. маловато метаданных либо придется создавать таблицу для каждого типа связи. _мод. Вы забываете, что к кэше или в фоксе, работа идет по другому - берется каждая запись (Full scan конечно, но по индексу или дереву) и сразу с ней что-то делается - вывод в отчет или суммирование, а в SQL - работа двухэтапная - получили результат запроса и потом!!! по этому временному результату fullscan тот же самый по записям. И не факт, что двухэтапный вариант да еще с накладными расходами промежуточного хранения данных будет быстрее. С чего бы при правильной организации структуры в обоих случаях? Пока студент, пусть учится - разным идеологиям. А то выходят однобокие специалисты, коих большинство, т.е. "с одним инструментом на все случаи жизни" Хотя мне тоже кажется, что в данном случае нечего особо мудрить. Пяток таблиц связей все решат. capscom. В этом случае нет смысла сравнивать по скорости тип запросов. Слишком мало данных в этой задаче * 1универ для современных СУБД. Если страна, тогда возможно что-то увидеть.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 01:51 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Siemargl_мод. Вы забываете, что к кэше или в фоксе, работа идет по другому - берется каждая запись (Full scan конечно, но по индексу или дереву) и сразу с ней что-то делается - вывод в отчет или суммирование, а в SQL - работа двухэтапная - получили результат запроса и потом!!! по этому временному результату fullscan тот же самый по записям. пока конь 4-мя ногами - 1, 2, 3, 4, ты двумя ногами 1-2-1-2 (с) Масленица Бред ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 08:45 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Бред Присоединяюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 11:28 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
capscom Огроменное спасибо участникам ветки! Буду юзать РСУБД и не усложнять себе жизнь. Остался тока узнать, а насколько производительны иерархические запросы у Оракла (все таки 'длинные' ветки придется выводить)??? И какой подход будет работать "шустрее" на графе: 1) Использовать иерархические запросы Оракла 2) Сделать промежуточную таблицу, в которой храниться все пути между любыми связанными записями.С этими вопросами лучше в эту ветку . ЗЫ. По собственному скромному опыту: с графами лучше работать на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 12:41 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
_модGluk (Kazan)Бред Присоединяюсь Сейчас ить докличемся :) Снееегуууураааачкаааа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 13:17 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Senya_Lcapscom Огроменное спасибо участникам ветки! Буду юзать РСУБД и не усложнять себе жизнь. Остался тока узнать, а насколько производительны иерархические запросы у Оракла (все таки 'длинные' ветки придется выводить)??? И какой подход будет работать "шустрее" на графе: 1) Использовать иерархические запросы Оракла 2) Сделать промежуточную таблицу, в которой храниться все пути между любыми связанными записями.С этими вопросами лучше в эту ветку . ЗЫ. По собственному скромному опыту: с графами лучше работать на клиенте. Ага, и обязательно на Fox-е ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 13:18 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Siemargl capscom. В этом случае нет смысла сравнивать по скорости тип запросов. Слишком мало данных в этой задаче * 1универ для современных СУБД. Если страна, тогда возможно что-то увидеть.... А как мне сравнительные тесты проводить (на одном универе), мне же нужно показать, что выбранный подход эффективен, например, для 10 000 узлов графа, а на 100 000 он уже не эффективен. Тестирование на машинке с заведомо известной конфигурацией: проц: Core 2 Duo T7500 (2,2 GHz) озу: 2 Гб винт: 120 Гигов (5400 оборотов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 15:11 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Ребят, есть же Фокс. Какие ещё вопросы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 15:15 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
ПодпольщегРебят, есть же Фокс. Какие ещё вопросы? А можно чуть подробнее, в чем прелесть Фокса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 15:27 |
|
||
|
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
|
|||
|---|---|---|---|
|
#18+
Senya_LЗЫ. По собственному скромному опыту: с графами лучше работать на клиенте. Приоритеты: 1. SQL запрос (если получится) 2. ХП - почти на все случаи жизни 3. Прога на клиенте - иногда нужно для отчетов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 16:07 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36229114&tid=1552886]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 158ms |

| 0 / 0 |
