Какой самый эффективный способ хранения и доступа к изображениям - PullRequest
0 голосов
/ 08 января 2011

Я работаю над проектом, который должен хранить десятки и тысячи изображений на сервере и предоставлять пользователям доступ к ним. Мне нужен самый эффективный способ хранения этих изображений и их извлечения. Кроме того, мне нужна информация о том, какую технологию я должен выбрать. Я еще не начал проект. Итак, я думаю между PHP с CodeIgniter и Ruby on Rails.

На сайте размещено много изображений, которые загружаются только авторами контента, а не пользователями.

Ответы [ 3 ]

5 голосов
/ 08 января 2011

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

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

Что касается хранилища - у вас должен быть отдельный статический сервер контента с быстрым и специализированным веб-сервером, таким как nginx или lighttpd, чтобы забыть о проблемах производительности. Жесткий диск должен быть настроен как массив RAID.

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

1 голос
/ 08 января 2011

Если вы используете PHP, вы всегда можете использовать некоторые из программ, доступных для хранения и обработки изображений, например Gallery или phpThumb , или, по крайней мере, взглянуть на ихкод, так что вам не нужно изобретать велосипед.Сказав это, я уверен, что для ruby ​​должны существовать подобные библиотеки.

0 голосов
/ 08 января 2011

Посмотрите немного вокруг, это очень распространенный вопрос.Но эти ссылки могут помочь вам

Youвозможно, вы захотите исследовать больше

Правка №1: Одно из предложений, просто не храните ваши изображения в базе данных.

...