Сохранение файлов в базе данных SQL Server

Я прочитал все вопросы и ответы по этой теме, которые я могу найти на этом сайте (и других), и до сих пор не могу найти ответы для следующего сценария.

У меня есть SQL Server 2008R2, размещенный в центре обработки данных. Мой клиент использует мое приложение Windows, которое хранит данные в базе данных SQL Server 2008R2. Существуют документы Word, Excel, PDF, JPG, PNG и т. д., которые связаны с записями в базе данных. Мой клиент должен иметь доступ к этим документам из любого места.

Я думаю, что я сохраню документы в записи базы данных, что сделает их доступными из любого места.

Мои вопросы:

  1. Правильно ли я предполагаю, что если хостинг-провайдер не включил FileStream на SQL Server, я не могу использовать это средство в своих собственных базах данных? (Это кажется разумным предположением, но, возможно, кто-то может подтвердить, что это недоступно на уровне отдельной базы данных.)

  2. Правильно ли я предполагаю, что хостинг-провайдер также должен разрешить чтение/запись в структуру папок, если я решу сохранить файлы непосредственно на диск?

  3. Наконец, может ли кто-нибудь прокомментировать свой реальный опыт сохранения документов в «облачной» базе данных SQL Server. Является ли производительность технической проблемой, которую нужно решить, или просто испытанием терпения пользователей?

Спасибо за помощь и понимание.


person Chimesy    schedule 19.12.2011    source источник
comment
Мой клиент должен иметь доступ к этим документам из любого места. У меня есть опыт использования хранилища BLOB-объектов Azure и Amazon S3 для хранения файлов, и лучше использовать их и сохранять ссылки URL в вашей базе данных. Вы всегда можете защитить эти файлы от прямого доступа и разрешить пользователю системы загружать эти файлы по требованию, подписывая их. Существует множество документов по этому поводу. Почему вы используете приложение для Windows? Кажется идеальным решением для веб-сайта.   -  person King Friday    schedule 19.12.2011
comment
WinApp — это существующий продукт, который предоставляет функциональные возможности, просто невозможные в WebApp (ATM). Веб-интерфейс разрабатывается, но это не изменит базовой функциональности решения. Это первый клиент, использующий этот конкретный наш продукт, который запросил эту документацию откуда угодно, но я вижу, что это востребовано другими клиентами, поэтому я хочу сделать все правильно.   -  person Chimesy    schedule 19.12.2011


Ответы (1)


  1. Нет, вы не правы. В противном случае вы по-прежнему можете передавать файлы в/из базы данных, просто без возможности использовать прямые файловые URL-адреса, которые обслуживаются самой базой данных.

  2. Да. Впрочем, почти у всех так.

  3. Если все сделано разумно, нет никаких причин, по которым он не может работать нормально во всех, кроме самых экстремальных ситуациях, критически важных для производительности. что не то же самое, что сказать, как вы должны это делать.

person Andrew Barber    schedule 19.12.2011
comment
Чтобы добавить к пункту № 3, обычно пространство SQL значительно дороже, чем просто облачное хранилище, поэтому ваши затраты могут быть излишне высокими, если вы храните много файлов в БД. - person John Koerner; 19.12.2011
comment
Это хороший момент @JohnKoerner; поскольку вы обычно платите за облачное хранилище побайтно, об этом следует помнить. - person Andrew Barber; 19.12.2011
comment
Я вижу, что вводил в заблуждение своими терминами (облако и т. д.). База данных SQL в настоящее время размещена, и пространство/стоимость не являются моей проблемой. (Клиент получает спонсорскую поддержку своих расходов на хостинг/SQL от хостинг-провайдера). Сказав это, я поднимаю флаг, чтобы проверить это на любых будущих сайтах. - person Chimesy; 19.12.2011
comment
@Chimesy Ааа, достаточно хорошо. Термин cloud, конечно, расплывчатый (каламбур), но обычно он означает нечто большее, чем «размещение на внешнем хостинге». Если пространство не является проблемой, то одним возражением против использования его таким образом будет меньше. - person Andrew Barber; 19.12.2011
comment
Спасибо, Эндрю. Полный балл за краткий и четкий ответ. Я новичок в stackoverflow, и поддержка просто фантастическая. - person Chimesy; 19.12.2011
comment
@Chimesy Спасибо! Вы задали вопрос, который задавали много раз, но сделали это достаточно конкретно, чтобы на него определенно стоило ответить. - person Andrew Barber; 19.12.2011