Возник вопрос по проектированию БД .В файловой системе имеется 98тыс.файлов(xls,csv,doc)
общий размер которых чуть более 30Гб. ИС использующая эти файлы морально устарела,принято решение перевода на новую систему.В госсекторе активно лоббируется стек технологий microsoft.начальство решило использовать sharepoint и ms sqlserver.при этом файлы хотят хранить именно в БД,мотивируя это удобством хранения,резервного копирования,решения проблемы конкурентного доступа.
я же огромного опыта не имею в этих вопросах,но мне данное решение кажется не оптимальный в плане скорости доступа к файлам(хотя утверждается что этот вопрос решается кэшированием на веб-сервере)
хотелось бы услышать мнение более опытных специалистов в этой области
Хранить бинарные данные (речь идёт о файлах) в БД считается плохим тоном. Храните метаданные, по которым можно однозначно локейтнуть данные.
Оверхед по селекту данных из БД будет куда больше, чем оверхед от "сходи в базу за метаданными, найти их на ФС".
мотивируя это удобством хранения,резервного копирования,решения проблемы конкурентного доступа.
По-моему, вполне разумная мотивация и используя простые файлы вы огребёте проблем с конкурентным доступом и бэкапом. Для БД 30ГБ данных - просто семечки. Естественно, в умелых руках.
SP2013 хорошо работает в режиме Shredded Service+ RBS + SQL Filestream-а, по сути файл храниться в хранилище, а на уровне БД он просто смаплен Гуидами. При таком подходе можно хранить сколько угодно доков в файловом хранилище и сама контентая БД будет в разы меньше, при таком подходе иногда придется подождать файл который совсем старый, к примеру + 2 секунды.