Лучшие методы разбиения файлов на Amazon S3 - PullRequest
13 голосов
/ 10 марта 2012

Надеюсь, простой вопрос - извинения, если на него уже ответили, но ничего не нашлось в поиске.

На S3 лучше организовывать изображения в меньшие подкаталоги или просто хранить их все в одном каталоге?В типичной файловой системе можно было бы разместить имена в каталогах для повышения производительности.Плоская структура с тысячами изображений в одном каталоге обычно не работает хорошо.Так ли это на Amazon S3?

Я могу поместить все пользовательские изображения в папку пользователей, все опубликованные изображения в папку публикаций и т. Д. ИЛИ Я могу поместить пользовательские изображения в папки, такие как users / {userId},избегайте иметь тысячи изображений в одной папке пользователя.

Ответы [ 4 ]

12 голосов
/ 10 марта 2012

Обновление 2018-07

Больше не требуется учитывать производительность при разработке схемы разделения для вашего варианта использования, см. Мой сводный отчет InfoQ Amazon S3 повышает производительность запросов и снижает требование к рандомизированному префиксу для подробностей:

Amazon Web Services (AWS) недавно объявил значительно увеличил производительность скорости запросов S3 и возможность распараллеливать запросы для масштабирования до желаемой пропускной способности.В частности, это повышение производительности также «удаляет все предыдущие рекомендации по рандомизации префиксов объектов» и позволяет использовать «логические или последовательные шаблоны именования в именовании объектов S3 без каких-либо последствий для производительности».

Обновление 2013-09

Информация в ссылочной ссылке, , в то время как все еще в значительной степени точная , была вытеснена более новым документом, S3 Частота запросов и соображения производительности .


Первоначальный ответ

Это проблема и с Amazon S3, хотя и только для значительных требований к хранилищу, см. Советы и рекомендации по производительности Amazon S3 для подробного ответа, включая стратегии разделения вашегопространство объекта.

0 голосов
/ 21 января 2019

Предыдущие ответы уже устарели https://aws.amazon.com/about-aws/whats-new/2018/07/amazon-s3-announces-increased-request-rate-performance/ "Это повышение производительности по частоте запросов S3 устраняет все предыдущие указания рандомизировать префиксы объектов для достижения более высокой производительности. Это означает, что теперь вы можете использовать логические или последовательные шаблоны именования в именах объектов S3 безлюбые последствия для производительности. "

0 голосов
/ 27 октября 2018

Извиняюсь за ответ сейчас, надеясь, что это все еще может быть полезным,

В именах ключей AWS определяют, в каком разделе хранится объект (файл) - вы можете добавить префикс hax в имя файла для повышения производительности.

GET-интенсивные рабочие нагрузки: Использование CloudFront

Смешанные рабочие нагрузки (GET, PUT & DELETE): Использование хакспрефикс к именам ключей объекта S3, чтобы предотвратить сохранение нескольких объектов в одном разделе.

0 голосов
/ 10 марта 2012

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

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

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