Загрузка изображений в базу данных пути VS - PullRequest
0 голосов
/ 26 июня 2011

Я собираюсь создать приложение ASP.NET MVC, в котором будет более 2000 продуктов, а на каждый продукт будет около 20 фотографий.Приложение будет asp.net mvc app и

Я использую sql server 2008 r2 для управления моими данными.какой способ лучше подходит для этого;

  • Загрузка изображений в путь и сохранение их имен файлов в базе данных, чтобы иметь возможность устанавливать связь друг с другом.
  • Хранение изображенийвнутри базы данных, а также в виде байтов и извлекайте их оттуда при необходимости.

Ответы [ 3 ]

1 голос
/ 26 июня 2011

определенно в файловой системе (путь к хранилищу) лучше, я делал оба в прошлом.

Против SQL-сервера для хранения изображений A) Ставки на вход и выход данных могут быть более сложными, так как приходится использовать объекты типа BLOB-объектов, а некоторые ORM действительно не учитывают это B) Ваша база данных намного больше, поэтому эффектыВаша политика резервного копирования / восстановления.Чем чаще вы создаете резервную копию, тем лучше, но место будет увеличиваться.Храня в файле, да, вам все еще нужно сделать резервную копию, но резервное копирование файловой системы легко.C) когда вам не хватает места для хранения, вы просто добавляете другой диск / сервер NAS и начинаете хранить там изображения, поэтому масштабируется горизонтально

Общее восприятие не так хорошо, как данные, хранящиеся в двух местах, но для меня это лучшекак тип данных, хранящихся на лучшем носителе данных для типов данных.

1 голос
/ 26 июня 2011

В базе данных используется FILESTREAM , которая объединяет 2 идеи (файл и база данных)

FILESTREAM интегрирует ядро ​​базы данных SQL Server с файловой системой NTFS, сохраняя varbinary (max) двоичные данные больших объектов (BLOB) в виде файлов в файловой системе.Операторы Transact-SQL могут вставлять, обновлять, запрашивать, искать и резервировать данные FILESTREAM.Интерфейсы файловой системы Win32 обеспечивают потоковый доступ к данным.

Это изменяет файл в сравнении с аргументами базы данных

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

1 голос
/ 26 июня 2011

Определенно хранится как путь, а не как байтовый массив.Это означает, что вы можете легко изменить само фактическое изображение, не изменяя код и не изменяя код в SQL (при условии, что новый файл будет иметь то же имя, что и старый).

Надеюсь, это поможет.

...