Жесткий файл на сервере или двоичный файл для звуковых и графических файлов в SQL с приложением ASP.Net - PullRequest
1 голос
/ 02 апреля 2009

Я создаю веб-приложение ASP.Net C #, которое будет использовать множество звуковых файлов и файлов изображений. Учитывая производительность, было бы лучше всего сохранить все файлы в SQL как тип данных изображения и извлечь из базы данных или сохранить / архивировать жесткий файл на сервере и сохранить путь в sql? Мне интересно узнать о плюсах и минусах, кроме очевидных места для хранения и управляемости.

Ответы [ 2 ]

1 голос
/ 02 апреля 2009

Мой текущий клиент в настоящее время просматривает те же параметры. Есть несколько компромиссов для рассмотрения:

Сохранение как тип данных ИЗОБРАЖЕНИЕ:

  • Вам нужно только сделать резервную копию вашей базы данных, а не базы данных и мест в файловой системе
  • Вам не нужно беспокоиться о перемещении файлов без обновления базы данных новым местоположением или каких-либо других проблем, связанных с зависанием указателей на несуществующие файлы

Хранение в виде файла с путем в БД:

  • Немного более быстрый доступ (мы определим это в ближайшие дни)

Первоначально я думал, что также будет проблема с кэшированием изображений на стороне клиента. Например, когда .NET получает изображение из БД, клиентский браузер не может его кешировать - каждый раз это выглядит как новое изображение. Затем я узнал, что если вы не предоставляете пользователям доступ на уровне файлов (безопасность - нет), вы сталкиваетесь с той же проблемой, используя прямой доступ к файлам.

0 голосов
/ 02 апреля 2009

С точки зрения производительности, вам лучше хранить звуки / изображения в виде файлов и просто хранить ссылку на местоположение в базе данных. Это избавит вас от необходимости переносить данные из базы данных на веб-сервер и восстанавливать «файл» через обработчик, когда на него ссылаются. Конечно, кеширование может помочь, но вы все равно будете платить штраф за каждый промах кеша. Это решение также, на мои деньги, несколько менее сложно с точки зрения кода, который необходимо разработать, хотя у вас есть проблемы со столкновениями и некоторые дополнительные настройки безопасности (потенциально), которые необходимо выполнить, если вы разрешаете выгрузку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...