2012-01-30 2 views
2

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

Мой вопрос: что лучше, имея папки для каждого пользователя (при регистрации создания папок с unique_id их имени или какого-то рода), чтобы они могли загружать свои изображения и видео там или переименовывать загруженные файлы и помещать все в одной папке. Или сохранить изображения прямо в базе данных с преобразованием бинарного blob?

+0

Возможный дубликат [Сохранение изображений в DB - Yea или Nay?] (Http://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay) –

+0

Возможно, связано: [Хранение Изображения в DB - Yea или Nay?] (Http://stackoverflow.com/q/3748/367456), [Каковы плюсы и минусы хранения файлов в базе данных?] (Http://stackoverflow.com/q/2458739/367456). – hakre

ответ

1

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

Если вы используете Linux/Unix, максимальное количество папок, которое вы можете иметь, будет варьироваться в зависимости от типа раздела, но если предел NTF достаточно велик, я полагаю, что ext3 или любая из журнализованных файловых систем должны иметь достаточно предел также.

Относительно того, лучше ли хранить изображения в БД или файловой системе, другие люди указали на известный related question here. Я считаю, что, как правило, любое решение работает хорошо, и оба имеют плюсы и минусы, чтобы принять решение в конечном итоге в значительной степени по вкусу.

1

Файл или база данных дублируются, как уже отмечалось.

О хранении файла:

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

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

Если у вас есть миллионы пользователей, вам не нужна структура, например: userdata/{userid} /, потому что вы получите миллионы папок внутри userdata /. Это также даст возможные проблемы.

Например, вы могли бы реализовать какой-то подход с осколками, сохранив данные пользователя на разных серверах. Поэтому при выборе «просто сохранить как обычные файлы» возможно множество вариантов.

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