powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
25 сообщений из 57, страница 1 из 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
25 сообщений из 57, страница 1 из 3
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД для эффективной работы с иерахической струторой(большие нагрузки, множество связей)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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