Russian Qt Forum

Qt => Базы данных => Тема начата: manarch от Ноябрь 20, 2013, 08:26



Название: БД и бинарные данные
Отправлено: manarch от Ноябрь 20, 2013, 08:26
Дайте совет если кто сталкивался. Пишется база данных для учета обработки материалов. Материалы в данным случае это файлы объемом десятки мегабайт. Данный материал в процессе обработки переходит из одного отдела в другой. Предполагалось что принимающий материал отдел, будет заносить этот материал в базу, все последующие отделы будут выгружать их к себе производит обработки и результат будут вносить в базу. Тем самым в базе будет храниться как входящий оригинал материала, так и промежуточные результаты обработки. Соответственно на последнем этапе будет данные которое непосредственно передадут заказчику. В связи с этим возникает вопрос, как лучше хранить данные: полностью кидать их в базу или сами файлы скидывать в файловое хранилище, недоступное пользователям, а в базу кидать ссылки на их расположение в хранилище, а по запросу пользователя передавать их?


Название: Re: БД и бинарные данные
Отправлено: Пантер от Ноябрь 20, 2013, 08:53
Ты бы БД написал сначала.


Название: Re: БД и бинарные данные
Отправлено: Bepec от Ноябрь 20, 2013, 09:06
Я бы посоветовал сначала нарисовать диаграмму взаимоотношений и проработать все возможные действия. На основании этого строим требования и смотрим что хорошо,а что плохо. Заодно и БД выбираем.

PS как показывает практика в 70% случаев говорят "Вот какая то база у нас есть, делайте всё в ней".


Название: Re: БД и бинарные данные
Отправлено: dio от Ноябрь 20, 2013, 10:32
В БД хранить бинарные данные удобней, но время доступа к данным будет больше чем к данным из хранилища. В Вашем случае размер данных довольно велик и загрузка\выгрузка данных займет минуты. Попробуйте провести тест для точного определения этого времени. Если оно удовлетворяет требованиям к Вашей системе, то храните в БД. И еще. Прежде чем проектировать БД, проанализируйте потоки данных. Частоту загрузки\выгрузки данных, суммарный объем активных данных, жизненный цикл данных. Это поможет избежать многих проблем в будущем.   


Название: Re: БД и бинарные данные
Отправлено: Пантер от Ноябрь 20, 2013, 11:47
Как показала моя практика, в SQLite лучше не хранить бинарные данные.


Название: Re: БД и бинарные данные
Отправлено: Bepec от Ноябрь 20, 2013, 12:01
В SQLite же вроде всё хранится в строках? Могу конечно и ошибаться, но именно такая информация у меня отложилась :)


Название: Re: БД и бинарные данные
Отправлено: dio от Ноябрь 20, 2013, 13:15
В БД подобных SQLite, ясно дело хранить большие объемы бинарных данных не стоит, они не для этого предназначены.
СУБД должна иметь возможность определения под эти цели отдельного табличного пространства с возможностью разбивки его по частям.


Название: Re: БД и бинарные данные
Отправлено: xokc от Ноябрь 20, 2013, 19:40
Одна из любимых холиварных тем разработчиков БД. В приличных СУБД для этого даже специальные типы данных придумали вроде FileStream и FileTables. Правильный ответ на этот вопрос всегда требует кучи наводящих вопросов, типа:
- какая СУБД?
- какой обычный размер файла?
- как часто изменяется файл?
- нужна ли репликация?
- как производится резервное копирование?
и т.д и т.п.


Название: Re: БД и бинарные данные
Отправлено: manarch от Ноябрь 21, 2013, 06:15
Одна из любимых холиварных тем разработчиков БД. В приличных СУБД для этого даже специальные типы данных придумали вроде FileStream и FileTables. Правильный ответ на этот вопрос всегда требует кучи наводящих вопросов, типа:
- какая СУБД?
- какой обычный размер файла?
- как часто изменяется файл?
- нужна ли репликация?
- как производится резервное копирование?
и т.д и т.п.

:) вот. именно поэтому и возник данный вопрос. я не спец по написанию баз данных и не могу составить спектр вопросов которые придется решать при эксплуатации по. :(


Название: Re: БД и бинарные данные
Отправлено: Пантер от Ноябрь 21, 2013, 09:05
Я в одном из проектов поступил так - для простоты засунул изображения в БД (SQLite). Как только начали жаловаться на торможения при работе с раздувшейся базой, я вынес картинки из базы.


Название: Re: БД и бинарные данные
Отправлено: xokc от Ноябрь 21, 2013, 13:58
:) вот. именно поэтому и возник данный вопрос. я не спец по написанию баз данных и не могу составить спектр вопросов которые придется решать при эксплуатации по. :(
Ну теперь-то все правильные вопросы заданы? Или что-то ещё непонятным осталось?