SQL Server 2008 FileStream против обычных файлов - PullRequest
4 голосов
/ 05 апреля 2011

Я создаю приложение типа youtube для хранения видео, и мне нужен совет.

Должен ли я использовать SQL Server FileStream для хранения видеофайлов или хранить их где-нибудь на жестком диске и записать путькак varchar (MAX) внутри SQL Server?

Что рекомендуется и почему?

Вы рекомендуете что-то еще, кроме обоих?Пожалуйста, не стесняйтесь сказать мне, но, пожалуйста, скажите мне, почему тоже.

Большое спасибо.

Ответы [ 3 ]

9 голосов
/ 05 апреля 2011

Преимущество типа FILESREAM заключается в обеспечении прозрачных транзакций при сохранении больших файлов в файловой системе. Недостатком является то, что он является частным, и если вы решите изменить базу данных, это решение может быть менее переносимым для других баз данных. Так что дать объективный ответ на этот вопрос ИМХО невозможно.

8 голосов
/ 05 апреля 2011

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

Пересмотрите путь;не храните полный путь - сохраняйте только некоторый путь относительно внешнего корня , который вы настраиваете в своем приложении.Таким образом, вы можете переместить все файлы и просто изменить настройки одного сайта, вместо того, чтобы делать большой UPDATE.Например, в БД я могу сохранить foo/bar/20110404_27.mpg, а затем объединить его с настройкой моего сайта \\myfileserver\share (используя Path.Combine).

0 голосов
/ 05 апреля 2011

Мне кажется, лучше было бы сохранить изображение в FileSystem и сохранить изображение и другую информацию в базе данных. Более подробная информация доступна по этим ссылкам

  1. Хранение файла в базе данных в отличие от файловой системы?
  2. http://www.extremeexperts.com/sql/FAQ/StoreImages.aspx
  3. http://www.databasejournal.com/features/mssql/article.php/3719221/Storing-Images-and-BLOB-files-in-SQL-Server.htm
  4. http://forums.asp.net/p/1620545/4189703.aspx/1?Re+Is+File+System+better+than+Sql+Server+for+video+storage+
...