Всем доброго времени суток. Есть вопрос по поводу хранения изображений товара интернет-магазина. А именно - как это всё структуризовать? Изначально было всё в одной папке. Самый простой вариант, считай, мусорка, т.к. от удалённых товаров оставались картинки, одинаковые имена перезаписывались и т.д. Да и когда количество позиций за 20 000 перевалило, стало не очень удобно. Далее переделал на другую систему - по типам. Иконки категорий в одной папке, брендов в другой и т.д. Картинки товаров же лежат теперь по пути "images/id подкатегории/name.jpg", имена уникальные. Вроде, всё по феншую, но при массовом переносе товаров приходится переносить и кучу картинок из одной папки в другую, что создаёт немалую нагрузку. Интересует ваше мнение, как правильно хранить изображения на сервере, не жертвую ни удобностью, ни нагрузкой?
1. бд 2. думаю путь с id товара будет интереснее, images/id товара/name.jpg или id товара/images/name.jpg Еще при большом количестве изображений используются специальные файловые систему как xfs, так же картинки чаще не удаляют для избежания форматирования данных на диске
БД - естесственно. Как без неё... id товара? И будет 30к папок лежать? По поводу xfs - скорее, к хостеру вопрос уже.
/images/<id изображения>.jpg мне что-то кажется что нужно делать так и для изображений завести таблицу images id|product_id|name
можно изображения хранить на файловом серваке, а в бд сделать таблицы с категориями, в них внешние ключи другой таблицы, в которой будет id, имя и ссылка на изображение на серваке
Тогда уж по названию товара. Так и было, по сути. Я и ушёл от того, чтобы в одной папке хранить всё. В общем-то, особой разницы не вижу, 30 000, 100 000 папок. В любом случае не особо это правильно, как мне кажется. SHiNiGaMi, структура БД, по сути, такая и есть. Место для хранения есть. Больше интересует вопрос структуры этого всего. Ещё была идея создавать папку с именем n+1 при наполнии предыдущей более, к примеру, 1000 файлов. А в бд хранить номер папки.