Задать вопрос
@FyodorYourich

Стоит ли хранить файлы в БД в данном случае?

Возник вопрос по проектированию БД .В файловой системе имеется 98тыс.файлов(xls,csv,doc)
общий размер которых чуть более 30Гб. ИС использующая эти файлы морально устарела,принято решение перевода на новую систему.В госсекторе активно лоббируется стек технологий microsoft.начальство решило использовать sharepoint и ms sqlserver.при этом файлы хотят хранить именно в БД,мотивируя это удобством хранения,резервного копирования,решения проблемы конкурентного доступа.
я же огромного опыта не имею в этих вопросах,но мне данное решение кажется не оптимальный в плане скорости доступа к файлам(хотя утверждается что этот вопрос решается кэшированием на веб-сервере)
хотелось бы услышать мнение более опытных специалистов в этой области
  • Вопрос задан
  • 2611 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
begemot_sun
@begemot_sun
Программист в душе.
Чем меньше прослоек - тем быстрее работа.
Всё зависит от того, что вам надо делать с файлами и как.
Ответ написан
Комментировать
xSkyFoXx
@xSkyFoXx
Хранить бинарные данные (речь идёт о файлах) в БД считается плохим тоном. Храните метаданные, по которым можно однозначно локейтнуть данные.
Оверхед по селекту данных из БД будет куда больше, чем оверхед от "сходи в базу за метаданными, найти их на ФС".
Ответ написан
Комментировать
@zedxxx
мотивируя это удобством хранения,резервного копирования,решения проблемы конкурентного доступа.


По-моему, вполне разумная мотивация и используя простые файлы вы огребёте проблем с конкурентным доступом и бэкапом. Для БД 30ГБ данных - просто семечки. Естественно, в умелых руках.
Ответ написан
Комментировать
@mayorovp
Если файлы не меняются - нет никаких проблем с конкурентным доступом. Если меняются - то проблемы будут хоть в ФС, хоть в БД.
Ответ написан
Комментировать
Buzzz
@Buzzz
SharePoint | Office 365 | .Net Developer
SP2013 хорошо работает в режиме Shredded Service+ RBS + SQL Filestream-а, по сути файл храниться в хранилище, а на уровне БД он просто смаплен Гуидами. При таком подходе можно хранить сколько угодно доков в файловом хранилище и сама контентая БД будет в разы меньше, при таком подходе иногда придется подождать файл который совсем старый, к примеру + 2 секунды.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы