2010-11-07 2 views
4

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

+0

http://couchdb.apache.org/ –

+4

Что не так с сохранением их на диске? –

+1

Не быть snarky, но хорошая база данных для тонны файлов - это файловая система, а идентификатор - имя файла. Но вы можете использовать SQL Server с столбцами FILESTREAM, которые по существу хранят файлы в файловой системе, но доступ предоставляется через файловую систему. Тем не менее, самое простое, что работает, возможно, сохранить файлы в файловой системе и сохранить только имя файла в базе данных, если вы хотите его запросить. –

ответ

5

Существует несколько рекомендаций.

  • Если файлы невелики (скажем, под 4K) и у вас есть много (скажем, более 10K), вы можете увидеть улучшение с хранением файлов в базе данных;

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

  • Если ваши файлы большие (скажем, более 100 тыс.), Их хранение в базе данных очень вероятно не будет хорошей идеей (для этого базы данных SQL не строятся). Если вы все еще хотите сохранить их в базе данных, найдите что-то еще (например, CouchDB etc);

  • Один большой недостаток их хранения в базе данных состоит в том, что будет труднее получить доступ к изображениям. Во-первых, получение изображений с диска использует кеширование файловой системы и оптимизированные пути для потоковой передачи файлов непосредственно с диска через Интернет. Вы теряете все это, и это может дать проблемы при определенных обстоятельствах (опять же, когда ваши файлы большие);

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

+0

Извините, что это дыра ***, но вы в этом случае ничего не теряете, вы «теряете» ее. Пожалуйста. – jv42

+0

Английский язык не является моим основным языком, как вы можете видеть в моем профиле (http://stackoverflow.com/users/446261/pieter). Это худшее правописание/грамматика, которую вы видели у неродного говорящего на SO? Если вы оставляете такие «конструктивные» комментарии, как это, со всеми носителями языка, я волнуюсь, сколько из них останется на SO. Хотя: изменил ответ. –

0

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

Смежные вопросы