Я ищу атрибут FILESTREAM в SQL Server для хранения в нем файлов. Я понимаю, что он хранит файлы на жестком диске и сохраняет информацию о указателе/пути файла в БД. Кроме того, поддерживается последовательность транзакций в процессе.Ограничение SQL Server FILESTREAM
Также существует ограничение «Данные FILESTREAM могут храниться только на томах локального диска» для атрибута FILESTREAM.
Если я ожидаю, что мое веб-приложение будет хранить 200 000 изображений по 1-2 мб каждый, мне потребуется около 200 гб свободного пространства на жестком диске для хранения изображений. Поскольку FILESTREAM требует, чтобы все данные сохранялись только на локальном диске в соответствии с ограничением, было бы невозможно хранить миллионы файлов на одном жестком диске, так как требования к хранению были бы чрезвычайно большими.
Мое понимание ограничения правильное или я что-то пропустил здесь?
Если это ограничение верно, я бы вместо этого сохранил его в db как простой blob и кластер моей БД для увеличения требований к хранению, что не представляется возможным с помощью FILESTREAM.
Пожалуйста, поделитесь своими мыслями!
ОБНОВЛЕНО:
несколько вопросов относительно FILESTREAM: -
- Как обрабатывать восстановление данных в случае контейнера данных с коррупцией?
- Можем ли мы просто создать резервную копию базы данных без данных файловой системы? [предполагается, что данные находятся в SAN, которые не нужно перемещать]
- Я хотел бы создать резервную копию или восстановить БД и просто переназначить файловую группу информацию о пути [, которая соответствует SAN]. Возможно ли это?
@Jeff: Великий пост! Он дал много ясности и еще несколько вопросов, которые я обновил. – pencilslate