Russian Qt Forum
Ноябрь 23, 2024, 12:03
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
БД и бинарные данные
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: БД и бинарные данные (Прочитано 7642 раз)
manarch
Гость
БД и бинарные данные
«
:
Ноябрь 20, 2013, 08:26 »
Дайте совет если кто сталкивался. Пишется база данных для учета обработки материалов. Материалы в данным случае это файлы объемом десятки мегабайт. Данный материал в процессе обработки переходит из одного отдела в другой. Предполагалось что принимающий материал отдел, будет заносить этот материал в базу, все последующие отделы будут выгружать их к себе производит обработки и результат будут вносить в базу. Тем самым в базе будет храниться как входящий оригинал материала, так и промежуточные результаты обработки. Соответственно на последнем этапе будет данные которое непосредственно передадут заказчику. В связи с этим возникает вопрос, как лучше хранить данные: полностью кидать их в базу или сами файлы скидывать в файловое хранилище, недоступное пользователям, а в базу кидать ссылки на их расположение в хранилище, а по запросу пользователя передавать их?
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: БД и бинарные данные
«
Ответ #1 :
Ноябрь 20, 2013, 08:53 »
Ты бы БД написал сначала.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Bepec
Гость
Re: БД и бинарные данные
«
Ответ #2 :
Ноябрь 20, 2013, 09:06 »
Я бы посоветовал сначала нарисовать диаграмму взаимоотношений и проработать все возможные действия. На основании этого строим требования и смотрим что хорошо,а что плохо. Заодно и БД выбираем.
PS как показывает практика в 70% случаев говорят "Вот какая то база у нас есть, делайте всё в ней".
Записан
dio
Гость
Re: БД и бинарные данные
«
Ответ #3 :
Ноябрь 20, 2013, 10:32 »
В БД хранить бинарные данные удобней, но время доступа к данным будет больше чем к данным из хранилища. В Вашем случае размер данных довольно велик и загрузка\выгрузка данных займет минуты. Попробуйте провести тест для точного определения этого времени. Если оно удовлетворяет требованиям к Вашей системе, то храните в БД. И еще. Прежде чем проектировать БД, проанализируйте потоки данных. Частоту загрузки\выгрузки данных, суммарный объем активных данных, жизненный цикл данных. Это поможет избежать многих проблем в будущем.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: БД и бинарные данные
«
Ответ #4 :
Ноябрь 20, 2013, 11:47 »
Как показала моя практика, в SQLite лучше не хранить бинарные данные.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Bepec
Гость
Re: БД и бинарные данные
«
Ответ #5 :
Ноябрь 20, 2013, 12:01 »
В SQLite же вроде всё хранится в строках? Могу конечно и ошибаться, но именно такая информация у меня отложилась
Записан
dio
Гость
Re: БД и бинарные данные
«
Ответ #6 :
Ноябрь 20, 2013, 13:15 »
В БД подобных SQLite, ясно дело хранить большие объемы бинарных данных не стоит, они не для этого предназначены.
СУБД должна иметь возможность определения под эти цели отдельного табличного пространства с возможностью разбивки его по частям.
Записан
xokc
Птица говорун
Offline
Сообщений: 976
Re: БД и бинарные данные
«
Ответ #7 :
Ноябрь 20, 2013, 19:40 »
Одна из любимых холиварных тем разработчиков БД. В приличных СУБД для этого даже специальные типы данных придумали вроде FileStream и FileTables. Правильный ответ на этот вопрос всегда требует кучи наводящих вопросов, типа:
- какая СУБД?
- какой обычный размер файла?
- как часто изменяется файл?
- нужна ли репликация?
- как производится резервное копирование?
и т.д и т.п.
Записан
manarch
Гость
Re: БД и бинарные данные
«
Ответ #8 :
Ноябрь 21, 2013, 06:15 »
Цитата: xokc от Ноябрь 20, 2013, 19:40
Одна из любимых холиварных тем разработчиков БД. В приличных СУБД для этого даже специальные типы данных придумали вроде FileStream и FileTables. Правильный ответ на этот вопрос всегда требует кучи наводящих вопросов, типа:
- какая СУБД?
- какой обычный размер файла?
- как часто изменяется файл?
- нужна ли репликация?
- как производится резервное копирование?
и т.д и т.п.
вот. именно поэтому и возник данный вопрос. я не спец по написанию баз данных и не могу составить спектр вопросов которые придется решать при эксплуатации по.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: БД и бинарные данные
«
Ответ #9 :
Ноябрь 21, 2013, 09:05 »
Я в одном из проектов поступил так - для простоты засунул изображения в БД (SQLite). Как только начали жаловаться на торможения при работе с раздувшейся базой, я вынес картинки из базы.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
xokc
Птица говорун
Offline
Сообщений: 976
Re: БД и бинарные данные
«
Ответ #10 :
Ноябрь 21, 2013, 13:58 »
Цитата: manarch от Ноябрь 21, 2013, 06:15
вот. именно поэтому и возник данный вопрос. я не спец по написанию баз данных и не могу составить спектр вопросов которые придется решать при эксплуатации по.
Ну теперь-то все правильные вопросы заданы? Или что-то ещё непонятным осталось?
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...