Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Одинаковые таблицы в БД для разных источников информации. Плохое решение? / 15 сообщений из 15, страница 1 из 1
10.11.2014, 01:15
    #38800166
ValeOFY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
Приветствую всех!
Я участвую в проектировании информационной системы.
Суть: система получает информацию от различных поставщиков, обрабатывает ее, приводит в стандартизированный вид и заносит в БД. После того, как вся информация от всех поставщиков собрана и добавлена в БД, происходит ее сортировка, объединение и.т.д.

Является ли нормальной практикой иметь отдельную таблицу для каждого источника? Таким образом, таблицы будут с одинаковыми сигнатурами, только названия отличаться. Или надо сразу заносить все в одну таблицу и в одно из полей записывать источник? Это противоречит теории построения БД? Например какой-нибудь N-ной нормальной форме? Спасибо!
...
Рейтинг: 0 / 0
10.11.2014, 01:28
    #38800170
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
Разделение сходных данных по куче таблиц должно иметь какую-то убедительную причину. Чаще всего такой выступает разница в структуре таблиц (источники не совпадают по информации и её форматом, удобно загрузить данные в виде как есть, а уж потом внутри базы очищать и править). Может выступать разница в бизнес-логике (структура в принципе одна, но алгоритмы обработки в каждом случае свои). Иногда могут быть более экзотические причины, скажем, связанные с правами доступа (кто какие источники может смотреть). Но если таких причин нет, то иметь дцатикратный геморрой только ради того, чтобы потом дополнительно "объединять"....
...
Рейтинг: 0 / 0
10.11.2014, 01:31
    #38800172
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
ValeOFYЯвляется ли нормальной практикой иметь отдельную таблицу для каждого
источника?
Нет.

ValeOFY надо сразу заносить все в одну таблицу
Только если сырые данные предполагается хранить наряду с обработанными. В противном случае
их обработка может (и должна - в той мере в которой это возможно) производиться ещё до
занесения в БД. Далее полусырые данные заносятся во временную таблицу, откуда уже и
доводятся до готовности.

ValeOFYв одно из полей записывать источник?
Только если "сортировка, объединение и т.д." как-то от источника зависят.

ValeOFYЭто противоречит теории построения БД?
Это противоречит методологии KISS.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.11.2014, 01:33
    #38800173
ValeOFY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
Всем спасибо, очень быстро и доходчиво!
...
Рейтинг: 0 / 0
17.11.2014, 13:16
    #38808200
Uridian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
ValeOFYЯвляется ли нормальной практикой иметь отдельную таблицу для каждого источника?softwarerРазделение сходных данных по куче таблиц должно иметь какую-то убедительную причину.Например, такой причиной может являться необходимость одновременной "неблокирующей" загрузки из разных источников.
...
Рейтинг: 0 / 0
17.11.2014, 13:42
    #38808259
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
UridianНапример, такой причиной может являться необходимость одновременной
"неблокирующей" загрузки из разных источников.
Это причина выбрать вменяемую СУБД, а не кривой дизайн.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17.11.2014, 13:59
    #38808305
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
Dimitry SibiryakovUridianНапример, такой причиной может являться необходимость одновременной
"неблокирующей" загрузки из разных источников.
Это причина выбрать вменяемую СУБД, а не кривой дизайн.
Вы слишком категоричны. Вполне может быть, что таблицы разнесены по файловым группам :-)
...
Рейтинг: 0 / 0
17.11.2014, 14:34
    #38808378
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
Arm79Вполне может быть, что таблицы разнесены по файловым группам :-)Совершенно без разницы куда они разнесены. Есть весьма ограниченное число задач, где поток данных, приходящий со скоростью на пределе железных возможностей, действительно необходимо хранить сколь-либо заметное время. И на таких задачах сидят люди, в подсказках форума не нуждающиеся.
Типичные же задачи ТСов заключаются в приёме потока, обработке (агрегировании) и его дропе. Для таких задач показаны in-memory СУБД у которых нет проблем с блокировкой таблиц (за фактическим отсутствием таковых).
...
Рейтинг: 0 / 0
17.11.2014, 14:44
    #38808389
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
Dimitry SibiryakovСовершенно без разницы куда они разнесены. Есть весьма ограниченное число задач, где поток данных, приходящий со скоростью на пределе железных возможностей, действительно необходимо хранить сколь-либо заметное время. И на таких задачах сидят люди, в подсказках форума не нуждающиеся.
Это не так. Бывают серьезные конторы, где из-за недостатка людей на проекты кидают молодежь. Так что вопросы на форуме от них могут быть.

Что касается хранения, то например Siebel трижды перекидывает данные из одной таблицы в другую при импорте данных. Таким образом, загрузка нескольких миллионов записей растягивается на некомфортное время.

В итоге, решение разносить заливку на разные таблицы при определенных условиях вполне имеет право нам жизнь.
...
Рейтинг: 0 / 0
17.11.2014, 14:55
    #38808411
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
Arm79Бывают серьезные конторы, где из-за недостатка людей на проекты кидают молодежь.
По моим впечатлениям, расклад немного иной. Есть серьёзные проекты. Туда прямо или косвенно идут большие государственные деньги. За этими деньгами бегут "серьёзные конторы". А поскольку после того, как деньги освоены, что-то таки надо сдать, на проекты кидают молодёжь подешевле, воодушевлённую большими задачами. Как результат - http://izvestia.ru/news/579312 или прочее того же рода. Хорошие разработчики в это время сидят по нормальным конторам, которых к таким проектам не подпустят на пушечный выстрел.
...
Рейтинг: 0 / 0
17.11.2014, 14:57
    #38808414
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
softwarerArm79Бывают серьезные конторы, где из-за недостатка людей на проекты кидают молодежь.
По моим впечатлениям, расклад немного иной. Есть серьёзные проекты. Туда прямо или косвенно идут большие государственные деньги. За этими деньгами бегут "серьёзные конторы". А поскольку после того, как деньги освоены, что-то таки надо сдать, на проекты кидают молодёжь подешевле, воодушевлённую большими задачами. Как результат - http://izvestia.ru/news/579312 или прочее того же рода. Хорошие разработчики в это время сидят по нормальным конторам, которых к таким проектам не подпустят на пушечный выстрел.
Ну в общем, именно так :-)
...
Рейтинг: 0 / 0
18.11.2014, 22:29
    #38810169
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
ValeOFY,
в OK таблицы добавляешь ведущим полем источник данных и все в порядке.
...
Рейтинг: 0 / 0
18.11.2014, 22:32
    #38810171
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
ValeOFY,
на счёт того, чему это противоречит...

это противоречит здравому смыслу.
никаким НФ это не противоречит.
...
Рейтинг: 0 / 0
19.11.2014, 12:35
    #38810623
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
ValeOFYТаким образом, таблицы будут с одинаковыми сигнатурами, только названия отличаться. Или надо сразу заносить все в одну таблицу и в одно из полей записывать источник? Это противоречит теории построения БД?
В таком варианте добавление нового источника приведет к достаточно большой переработке структуры и механизмов:
1) добавление доп. таблицы
2) изменение всех процедур обработки для учета новой таблицы
3) изменение всех выборок из базы - добавление новой таблицы.
4) иные структурные доработки - индексы/триггеры и т.п. и т.д.

Можно по дефолту всю обработку завязать на какое-нибудь представление, объединяющее "таблицы-источники" и т.д. и т.п.
Но с этим проблем будет еще больше, чем преимуществ.
...
Рейтинг: 0 / 0
23.11.2014, 17:33
    #38814460
ValeOFY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одинаковые таблицы в БД для разных источников информации. Плохое решение?
Благодарю всех ответивших, очень полезно!
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Одинаковые таблицы в БД для разных источников информации. Плохое решение? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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