powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
57 сообщений из 57, показаны все 3 страниц
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36223766
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вечер добрый!

Стоит задача для дипломной работы - разработать методику, позволяющую максимально быстро выбирать всех потомков (или предков) заданной записи или группы записей, в том числе и потомков (или предков) удаленных от заданной записи на заданное число шагов или вплоть до низа(конца) иерархической лестницы.
Структура - ациклический направленный граф.

Нагрузки планируются огромные и количество связей неограниченно. Задача подразумевает много вставок/изменений/удалений узлов. По началу - это просто будет тестовый локальный проект, который планируется перевести потихоньку в рабочий веб-проект.

Порылся в сети, и сложилось мнение что реляционные БД не совсем подходят для работы с иерархическими структурами.

Как грамотнее поступить:

1) Остановиться на реляционной БД (OracleXE или MySQL) и искать и тестировать различные подходы для представления иерархических структур, а затем выбрать подходящий подход.

2) Или есть другие типы БД, которые эффективнее реляционных в данном случае???
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36223801
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscom
Нагрузки планируются огромные и количество связей неограниченно. Задача
подразумевает много вставок/изменений/удалений узлов.

"Неограниченное количество связей" это десятки или сотни?
"Огромные нагрузки" это десятки или сотни запросов в секунду?

Не смешите людей. Лучше подумайте откуда возьмётся такое количество
данных и такая нагрузка.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36223922
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscom...
...разработать методику, позволяющую максимально быстро
Максимально быстро - это как? За минуту? Полчаса?
capscom
выбирать всех
Проектирование приложения, извлекающего из базы "всех" - есть дурной тон. Особенно если этих "всех" много. Что Вы с "ними" собираетесь делать?
capscom...
Нагрузки планируются огромные и количество связей неограниченно. Задача подразумевает много вставок/изменений/удалений узлов.
Перед проектированием следует выяснить конкретные значения. Сделайте хотя бы грубую оценку.
capscom...Порылся в сети, и сложилось мнение что реляционные БД не совсем подходят для работы с иерархическими структурами.
Было с чем сравнить, чтобы сделать такой вывод?

Почитайте.
И еще .
capscom2) Или есть другие типы БД, которые эффективнее реляционных в данном случае??? Если capscomЗадача подразумевает много вставок/изменений/удалений узлов., то другие типы БД лучше не использовать. Тем более что их ("других") почти не осталось в дикой природе.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36223982
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо, у кого-то не задалась дырявая война на тему "пост-реляционные СУБД против всех остальных".

-------------------------
There’s no silver bullet!
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36224160
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscomКак грамотнее поступить:
Грамотнее - для начала чётко определить критерии оптимальности, потом провести исследование и оценить эффективность реляционных и нереляционных СУБД для требуемых операций, потом углублённо проработать перспективный вариант. Это если речь идёт о грамотном дипломе.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36224930
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
capscomСтруктура - ациклический направленный граф.
Нагрузки планируются огромные и количество связей неограниченно. Задача подразумевает много вставок/изменений/удалений узлов.
Порылся в сети, и сложилось мнение что реляционные БД не совсем подходят для работы с иерархическими структурами.
Подходят действительно не очень, но степень этого "не очень" сильно зависит от РСУБД.
Главные требования, на мой взгляд - рекурсивный SQL c хорошим оптимизатором и эффективное числовое индексирование. Думаю, стоит посмотреть в сторону Oracle или DB2 (в последнем range clustered indexes сильно ускоряют работу с числовыми "ID" записей), для начала разобравшись со степенью "огромности" нагрузок.
Альтернатива - СУБД сетевой модели, такие как RDM, Titanium и т.д. Но они все сильно платные и не сильно удобные, т.к. предполагают навигационную (без языка запросов) модель эффективного использования.
Еще стоит определиться - у Вас действительно граф или дерево (лес). Если можно обойтись лесом - рассмотрите XML СУБД, а лучше РСУБД c нативным XML. Кажется, лучше всех тут DB2. Плюсы подхода - все достоинства РСУБД + язык XQuery (кстати, включенный в SQL-2006). Естественно, XML должен быть индексирован и строго типизирован схемами.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36225110
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Необходимо реализовать иерархическую структуру университета (от ректора и до конкретного студента). Неограниченные связей подразумевались, потому что на факультете – сотни человек, а слушателей курса может быть несколько десятков. Данные – это собственно база университета. Изначально проект тестироваться будет – на локальной машине, поэтому запросов будет менее десятка, но затем доступен будет в сети, для всех пользователей(могут быть и сотни запросов в секунду). Связи могут постоянно изменяться, кого-то отчислили или добавился новый курс – добавляются и новые слушатели.

NextMan
Для веб-проекта , оптимально, наверное, секунды. В идеале, чем быстрее, тем лучше.
автор
Было с чем сравнить, чтобы сделать такой вывод?
По совету старших товарищей и руководителя, которые рекомендовали – смотреть в сторону не только реляционных баз данных.

авторПроектирование приложения, извлекающего из базы "всех" - есть дурной тон
Извлекать ветку иерархии, от конкретного ученика до верхов – необходимо.

locky
Я не воевать пришел, а спросить совета у грамотных людей.

softwarer
Согласен, но проверить все возможные подходы на каждом типе БД просто не успею. Кроме того, существуют подходы применимые только к конкретным СУБД (Например Oracle поддерживает иерархические запросы, а MySQL нет).
Хотелось бы выбрать несколько актуальных решений задачи, а над ними уже проводить исследование. Вот и спрашиваю совета, ведь у кого-то уже был опыт создания таких, или подобных систем.

Favn
Спасибо большое, буду гуглить.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36225163
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscom
(Например Oracle поддерживает иерархические запросы, а MySQL нет).

Вот и берите Оракула и не парьтесь.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36225562
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscom Dimitry Sibiryakov
Необходимо реализовать иерархическую структуру университета (от ректора и до конкретного студента).

Это совсем не огромная :)
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36225574
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Это совсем не огромная :)

Возможно, в современных университетах преподают следующий способ устного
счёта: "один, два, много, куча, тьма".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36225653
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
capscomНеобходимо реализовать иерархическую структуру университета (от ректора и до конкретного студента).
И где здесь иерархия ? Стр-ра любой организации в т.ч. универа не сводится к дереву
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36225739
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реляционные СУБД удобно и быстро работают со структурами с небольшим количеством измерений: 3-4.
1е измерение = это имя таблицы, 2е и 3е- собственно сама таблица.

4е и далее искусственно привязывается через отношения 1:М. Чем дальше, тем неудобнее потом работать.

Потому, если правильно проектированная структура БД (или даже необходимая ее часть для работы каждого программного модуля) помещается в 4 измерения - достаточно РСУБД.

Иначе - пытаться выбрать многомерные, сетевые, объектные модели - что подойдет лучше.

А уж для дипломного проекта эксперименты - самое то.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36225742
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl, следуя этой мысли CASHE - наше фсё.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36225769
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
1е измерение = это имя таблицы, 2е и 3е- собственно сама таблица.


Все тот-же Бред
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36225804
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscom Dimitry Sibiryakov
Необходимо реализовать иерархическую структуру университета (от ректора и до конкретного студента). Неограниченные связей подразумевались, потому что на факультете – сотни человек, а слушателей курса может быть несколько десятков. Данные – это собственно база университета. Изначально проект тестироваться будет – на локальной машине, поэтому запросов будет менее десятка, но затем доступен будет в сети, для всех пользователей(могут быть и сотни запросов в секунду). Связи могут постоянно изменяться, кого-то отчислили или добавился новый курс – добавляются и новые слушатели.Состав среднего российского вуза:
Профессорско-преподавательский состав: менее менее 1000 человек (это с запасом)
Количество студентов: не более 10000 человек (тоже с запасом).

Под древовидную структуру подпадают только преподаватели (у каждого работника есть только один непосредственный начальник), студенты выпадают из иерархии подчинения. И чего тогда огород городите про "ациклический направленный граф"?
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36225968
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglРеляционные СУБД удобно и быстро работают со структурами с небольшим количеством измерений: 3-4.
1е измерение = это имя таблицы, 2е и 3е- собственно сама таблица.

4е и далее искусственно привязывается через отношения 1:М. Чем дальше, тем неудобнее потом работать.

Потому, если правильно проектированная структура БД (или даже необходимая ее часть для работы каждого программного модуля) помещается в 4 измерения - достаточно РСУБД.

Иначе - пытаться выбрать многомерные, сетевые, объектные модели - что подойдет лучше.

А уж для дипломного проекта эксперименты - самое то.экспериментируйте
но простая задача подсчитать общее количество студентов всю эту дурь из головы быстро выбьет
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226037
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperно простая задача подсчитать общее количество студентов всю эту дурь из головы быстро выбьет
Не выбьет. Простейший рекурсивный скрипт на полтора десятка операций - и суперглобали решат эту задачу гораздо быстрее
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226151
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в той среде что я работаю работа с иерархическим справочником (таблица с полем элемента и полем его родителя) проверка на "вхождение" в ту или иную группу рекурсивными или циклическими методами внутри основных запросов оооочень сильно увеличивает время и приблизительно равно времени отработки запроса на соединениях с предварительно подготовленной таблицой иерархий и элементов

вобщем если кто понял чего я тут наговорил :) то такое хранение данных (ссылка_элемент-ссылка_непосредственный_родитель) даже в одной таблице влечёт за собой существенную потерю производительности

можно конечно предопределённо добавить кол-во родителей разных уровней в ту же таблицу но это очень весело отслеживать при измении подчинения структурного элемента в подчинении... а если кол-во уровней иерархии изменяется то становится вообще очень забавно
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226188
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_мод
авторИ где здесь иерархия ? Стр-ра любой организации в т.ч. универа не сводится к дереву

А к чему она тогда сводится?

Senya_L

Студенты же привязаны к преподавателю..Поэтому ацеклический граф.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226204
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscom
Студенты же привязаны к преподавателю..Поэтому ацеклический граф.

Гладко было на бумаге... А есть студенты, подрабатывающие лаборантами. А
есть переходы между группами, потоками и специальностями. А есть
студенты, привязанные к нескольким преподавателям, как и совсем отвязанные.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226206
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А БД точно нужна ? Может быть пойдет wiki + админ ?
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226212
RWR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RWR
Гость
Ооо...Тема то что надо!!!!

Подобный граф закладываю в основы для социальной сети и тоже не знаю на какой СУБД остановиться.
Нужно будет выводить своих друзей, друзей моих друзей и так до конца иерархии. Извращение, но хочу попробовать.

Граф динамический потому что связи у кого-то добавляются, а кого-то могут удаляться.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226215
RWR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RWR
Гость
Еще ж забыл, что и поиск по связям нужен.

В сети нашел http://ko-online.com.ua/node/42760

Кто-нить использовал проекты: Voldemort, СУБД Neo4j, CouchDB ??????
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226454
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWRНужно будет выводить своих друзей, друзей моих друзей и так до конца иерархии. Извращение, но хочу попробовать.
О, вот как раз для такого запроса реляционные СУБД подходят идеально. Он очень прост: select * from people.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226588
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerSergSuperно простая задача подсчитать общее количество студентов всю эту дурь из головы быстро выбьет
Не выбьет. Простейший рекурсивный скрипт на полтора десятка операций - и суперглобали решат эту задачу гораздо быстрее

Это не КашеВей !!! Надо создать поле счетчик
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226591
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWR
Нужно будет выводить своих друзей, друзей моих друзей и так до конца иерархии. Извращение, но хочу попробовать.


Иерархия среди друзей ???
Несомненно извращение
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226607
RWR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RWR
Гость
Gluk (Kazan)RWR
Нужно будет выводить своих друзей, друзей моих друзей и так до конца иерархии. Извращение, но хочу попробовать.


Иерархия среди друзей ???
Несомненно извращение

Я знаю толк в извращениях :-)
По сути не иерархия нужна, а отображение связей кто с кем дружит. По типу как у контакта, но с возможностью просматривать не только своих друзей, но и друзей моих друзей и т.д.
РСУБД подойдут под это дело оптимально?
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226714
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWRGluk (Kazan)RWR
Нужно будет выводить своих друзей, друзей моих друзей и так до конца иерархии. Извращение, но хочу попробовать.


Иерархия среди друзей ???
Несомненно извращение

Я знаю толк в извращениях :-)
По сути не иерархия нужна, а отображение связей кто с кем дружит. По типу как у контакта, но с возможностью просматривать не только своих друзей, но и друзей моих друзей и т.д.
РСУБД подойдут под это дело оптимально?

Всегда подходили, но если Мусье действительно знает толк в извращениях, то Cache несомненно ваше ВСЕ. Даже спорить не буду.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226733
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
use tempdb
go

if OBJECT_ID('fr_rels', 'U') is not null
	drop table fr_rels
go

if OBJECT_ID('people', 'U') is not null
	drop table people
go

create table people(
	ID int not null,
	Name varchar( 30 ) not null,
	constraint PK_people primary key(ID)
)
go

create table fr_rels(
	ID1 int not null,
	ID2 int not null,
	constraint PK_fr_rels primary key(ID1, ID2),
	constraint FK_Rel1 foreign key (ID1) references people(ID),
	constraint FK_Rel2 foreign key (ID2) references people(ID)
)
go

insert into people(ID, Name)
select  1 , 'Вася' union all
select  2 , 'Сеня' union all
select  3 , 'Петя' union all
select  4 , 'Коля' union all
select  5 , 'Саня' union all
select  6 , 'Ваня'

insert into fr_rels(ID1, ID2)
select  2 ,  3  union all
select  2 ,  4  union all
select  2 ,  6  union all
select  1 ,  3  union all
select  1 ,  5  union all
select  3 ,  4 


-- выбираем друзей Сени
select
	*
from fr_rels
	join people p2 on fr_rels.ID2 = p2.ID
where fr_rels.ID1 =  2 

-- выборка: кто с кем дружит
select
	*
from people p1
	join fr_rels on p1.ID = fr_rels.ID1
	join people p2 on fr_rels.ID2 = p2.ID
авторПо совету старших товарищей и руководителя, которые рекомендовали – смотреть в сторону не только реляционных баз данных.Вот чему всегда поражался, так это умению "учоных" усложнить любую, даже самую пустяшную, задачу.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226762
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
capscomА к чему она тогда сводится?
К обыкновенной сети: сущности-ссылки. Легко моделируется на РСУБД.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226773
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)Всегда подходили, но если Мусье действительно знает толк в извращениях, то Cache несомненно ваше ВСЕ. Даже спорить не буду.
Cache не пойдет - у нее только один индекс. Запрос типа: найти всех родителей ребенка - full scan. Как раз в РСУБД граф легко представляется двумя таблицами со всеми нужными индексами и вперед.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226881
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модGluk (Kazan)Всегда подходили, но если Мусье действительно знает толк в извращениях, то Cache несомненно ваше ВСЕ. Даже спорить не буду.
Cache не пойдет - у нее только один индекс. Запрос типа: найти всех родителей ребенка - full scan. Как раз в РСУБД граф легко представляется двумя таблицами со всеми нужными индексами и вперед.

это была ирония
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36226967
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)это была ирония
С Cache по другому нельзя :)
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36227749
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscomВечер добрый!

Стоит задача для дипломной работы - разработать методику, позволяющую максимально быстро выбирать всех потомков (или предков) заданной записи или группы записей, в том числе и потомков (или предков) удаленных от заданной записи на заданное число шагов или вплоть до низа(конца) иерархической лестницы.
Структура - ациклический направленный граф.

Различные методы организации деревьев описаны в книге Селко Trees and Hierarchies in SQL .

В SQL Server 2008 появился новый тип данных hierarchyid, который специально предназначен для работы с деревьями. О работе с ним можно почитать в книге Бен-Гана Inside Microsoft® SQL Server® 2008: T-SQL Querying .
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36228117
RWR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RWR
Гость
Спасибо всем)) С БД тогда мудрить не буду - остановлюсь на РСУБД.

Flying Dutchman , а книг на русском не встречали, по представлению деревьев???
Английский знаю, но все-же приятнее на русском читать.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36228154
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огроменное спасибо участникам ветки!

Буду юзать РСУБД и не усложнять себе жизнь. Остался тока узнать, а насколько производительны иерархические запросы у Оракла (все таки 'длинные' ветки придется выводить)???

И какой подход будет работать "шустрее" на графе:

1) Использовать иерархические запросы Оракла

2) Сделать промежуточную таблицу, в которой храниться все пути между любыми
связанными записями.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36228182
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWRСпасибо всем)) С БД тогда мудрить не буду - остановлюсь на РСУБД.

Flying Dutchman , а книг на русском не встречали, по представлению деревьев???
Английский знаю, но все-же приятнее на русском читать.

Честно говоря, даже не знаю, существуют ли книги на русском по этой теме. Все, что я видел - несколько статей в Интернете о работе с деревьями на SQL.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36228241
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В pgsql тоже полно инструментов для работы с деревьями.
ltree аналогичен M$SQL.
Есть аналог ораклового connectby, а в 8.4 иерархические запросы поддерживаются
ещё и в соответствии со стандартами(WITH RECURSIVE).
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36228338
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
capscomИ какой подход будет работать "шустрее" на графе:
1) Использовать иерархические запросы Оракла
2) Сделать промежуточную таблицу, в которой храниться все пути между любыми
связанными записями.Очень сильно зависит от объемов, типов индекса (b+ tree не очень подходит) и качества оптимизатора.
2) не реляционно, сложно в сопровождении и очень дорого по изменениям. 1) не прерогатива Оракла - with есть во многих СУБД (SQL3). Да и connect by не только Оракл поддерживает :)
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36228368
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FavncapscomИ какой подход будет работать "шустрее" на графе:
1) Использовать иерархические запросы Оракла
2) Сделать промежуточную таблицу, в которой храниться все пути между любыми
связанными записями.Очень сильно зависит от объемов, типов индекса (b+ tree не очень подходит) и качества оптимизатора.
2) не реляционно, сложно в сопровождении и очень дорого по изменениям. 1) не прерогатива Оракла - with есть во многих СУБД (SQL3). Да и connect by не только Оракл поддерживает :)

Спасибо, буду иметь в виду. Только не очень понятно вот это:
автор
2) не реляционно, сложно в сопровождении и очень дорого по изменениям.

"Не реляционно" - это имелось в виду при использовании не реляционной СУБД или подход не реляционный?? Если все же подход, то что значит "реляционный подход" ???
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36228615
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L:
- учебное решение для задачи со связями. Но в этом решении не указан смысл связи - подчиненный преподаватель, студент у препода, итд. Т.е. маловато метаданных либо придется создавать таблицу для каждого типа связи.

_мод. Вы забываете, что к кэше или в фоксе, работа идет по другому - берется каждая запись (Full scan конечно, но по индексу или дереву) и сразу с ней что-то делается - вывод в отчет или суммирование, а в SQL - работа двухэтапная - получили результат запроса и потом!!! по этому временному результату fullscan тот же самый по записям.
И не факт, что двухэтапный вариант да еще с накладными расходами промежуточного хранения данных будет быстрее. С чего бы при правильной организации структуры в обоих случаях?

Пока студент, пусть учится - разным идеологиям. А то выходят однобокие специалисты, коих большинство, т.е. "с одним инструментом на все случаи жизни"

Хотя мне тоже кажется, что в данном случае нечего особо мудрить. Пяток таблиц связей все решат.

capscom.
В этом случае нет смысла сравнивать по скорости тип запросов. Слишком мало данных в этой задаче * 1универ для современных СУБД. Если страна, тогда возможно что-то увидеть....
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36228732
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl_мод. Вы забываете, что к кэше или в фоксе, работа идет по другому - берется каждая запись (Full scan конечно, но по индексу или дереву) и сразу с ней что-то делается - вывод в отчет или суммирование, а в SQL - работа двухэтапная - получили результат запроса и потом!!! по этому временному результату fullscan тот же самый по записям.


пока конь 4-мя ногами - 1, 2, 3, 4, ты двумя ногами 1-2-1-2 (с) Масленица
Бред
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36229114
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)Бред
Присоединяюсь
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36229357
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscom Огроменное спасибо участникам ветки!

Буду юзать РСУБД и не усложнять себе жизнь. Остался тока узнать, а насколько производительны иерархические запросы у Оракла (все таки 'длинные' ветки придется выводить)???

И какой подход будет работать "шустрее" на графе:

1) Использовать иерархические запросы Оракла

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

ЗЫ. По собственному скромному опыту: с графами лучше работать на клиенте.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36229483
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модGluk (Kazan)Бред
Присоединяюсь

Сейчас ить докличемся :)
Снееегуууураааачкаааа
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36229485
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_Lcapscom Огроменное спасибо участникам ветки!

Буду юзать РСУБД и не усложнять себе жизнь. Остался тока узнать, а насколько производительны иерархические запросы у Оракла (все таки 'длинные' ветки придется выводить)???

И какой подход будет работать "шустрее" на графе:

1) Использовать иерархические запросы Оракла

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

ЗЫ. По собственному скромному опыту: с графами лучше работать на клиенте.

Ага, и обязательно на Fox-е
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36229793
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemargl
capscom.
В этом случае нет смысла сравнивать по скорости тип запросов. Слишком мало данных в этой задаче * 1универ для современных СУБД. Если страна, тогда возможно что-то увидеть....

А как мне сравнительные тесты проводить (на одном универе), мне же нужно показать, что выбранный подход эффективен, например, для 10 000 узлов графа, а на 100 000 он уже не эффективен.

Тестирование на машинке с заведомо известной конфигурацией:

проц: Core 2 Duo T7500 (2,2 GHz)
озу: 2 Гб
винт: 120 Гигов (5400 оборотов).
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36229800
Ребят, есть же Фокс.
Какие ещё вопросы?
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36229836
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПодпольщегРебят, есть же Фокс.
Какие ещё вопросы?

А можно чуть подробнее, в чем прелесть Фокса?
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36229952
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Senya_LЗЫ. По собственному скромному опыту: с графами лучше работать на клиенте.

Приоритеты:
1. SQL запрос (если получится)
2. ХП - почти на все случаи жизни
3. Прога на клиенте - иногда нужно для отчетов
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36229966
capscom, рашмор, конечно.
)))
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36230231
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подпольщегcapscom, рашмор, конечно.
)))

Я не в теме. Погуглю на досуге про фокс))
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36230243
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscomПодпольщегcapscom, рашмор, конечно.
)))

Я не в теме. Погуглю на досуге про фокс))можете отсюда и начать
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36230502
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuper,
Очевидно, имелось ввиду это
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36230950
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GLASS - ОО-СУБД со встроенным средством разработки веб-приложений ( книжка ).
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36230980
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscom, берите PostgreSQL и не парьтесь ни о чём.
...
Рейтинг: 0 / 0
СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
    #36231041
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОКТОГЕН,Victor Metelitsa, SergSuper - Спасибо.. Вникаю))
...
Рейтинг: 0 / 0
57 сообщений из 57, показаны все 3 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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