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