Хранить Файлы в SQL Server или сохранить их на Файловом сервере?

Вместо параметров по умолчанию, почему не только создают класс словаря из querystring, передал.. реализация, которая почти идентична пути работа форм asp.net с querystrings.

т.е. Запрос. QueryString["a"]

Это разъединит листовой класс от фабрики / шаблонный код.

Вы также могли бы хотеть проверить веб-сервисы с ASP.NET . Веб-сервисы являются веб-API, сгенерированным автоматически через атрибуты на классах C#.

8
задан Community 23 May 2017 в 11:57
поделиться

7 ответов

У меня было бы и то, и другое.

Я бы сохранил файлы, переименованные с уникальным именем, что упростило бы управление, и я бы сохранил все метаданные в базе данных (имя файла, контент- тип, расположение в файловой системе, размер, описание и т. д.), поэтому доступ к файлам осуществляется через базу данных (косвенно).

Преимущества:

  • файлы просты в обращении; вы можете объединить несколько дисков.
  • база данных может хранить любое количество метаинформации, включая описание файла, по которому вы можете выполнять поиск.
  • отслеживать доступ к файлам и другую статистическую информацию
  • переупорядочивать файлы, используя различные парадигмы: дерево (структура каталогов), теги, поиск или контекст

Вы также можете использовать сжатие на диске. Вы можете использовать RAID для резервного копирования и повышения скорости.

8
ответ дан 5 December 2019 в 04:46
поделиться

практическое правило для размера документа:

size < 256 kb: store in db
265 kb < size < 1 MB: test for your load
size > 1 Mb: store on file system

РЕДАКТИРОВАТЬ: это практическое правило также применяется для хранилища FILESTREAM в SQL Server 2008

17
ответ дан 5 December 2019 в 04:46
поделиться

О каких документах идет речь?

Хранение документов на вашем SQL-сервере может быть полезным, потому что вы можете связать документы с другими таблицами и использовать такие методы, как полнотекстовое индексирование и такие вещи, как нечеткий поиск.

Обратной стороной является то, что может быть немного сложнее создать резервную копию документов. Также возможно сжатие с помощью сжатия NTFS или других методов.

1
ответ дан 5 December 2019 в 04:46
поделиться

Если вы полностью обновитесь до SQL Server 2008, то сможете использовать новую функцию FILESTREAM, которая позволяет документу отображаться в виде столбца в таблице, но при этом не храниться в виде файла. на общем ресурсе, где к нему может получить прямой доступ программа (например, Word).

12
ответ дан 5 December 2019 в 04:46
поделиться

Основаны ли эти документы на тексте и планируете ли вы использовать полнотекстовый поиск SQL Server для поиска в этих документах? Если нет, то я не вижу никакой пользы от хранения этих документов в базе данных. Конечно, вы всегда можете сохранить метаданные, относящиеся к документам, включая информацию о пути к базе данных.

1
ответ дан 5 December 2019 в 04:46
поделиться

Большое преимущество размещения документов в БД состоит в том, что становится намного проще контролировать безопасный доступ к ним, поскольку вы можете делать все это через контроль доступа в своем приложении. Для их хранения на файловом сервере необходимо иметь дело с привилегиями доступа на уровне файлов и папок, чтобы предотвратить любой прямой доступ. Кроме того, их наличие в базе данных обеспечивает единую точку резервного копирования, чтобы вам было проще сделать полную копию и / или переместить ее, если это необходимо.

1
ответ дан 5 December 2019 в 04:46
поделиться

Вместо того, чтобы писать собственную DMS (систему управления документами), вам, вероятно, следует подумать о ее покупке или использовании WSS / SharePoint, поскольку это будет обрабатывать все повседневные детали (хранение, индексация, метаданные) и позволяют создавать свои собственные функции поверх.

1
ответ дан 5 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

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