Назад | Перейти на главную страницу

Как организовать папки для будущего масштабирования?

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

/1/1/photo.jpg /1/2/photo.jpg. /10/10/photo.jpg

Я использую часть хэша файла в качестве имени файла (и сохраняю хеш в базе данных), а затем организую их в подкаталоги на основе первой буквы (или букв). Например, файл de9f2c7fd25e1b3afad3e85a.jpg идет в

/storage/d/de9f2c7fd25e1b3afad3e85a.jpg

Поскольку хэши распределены равномерно, легко разделить хранилище на несколько дисков, в каждом каталоге должно быть примерно одинаковое количество изображений. В настоящее время у меня есть около 2 ТБ изображений, организованных таким образом, и это прекрасно работает.

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

Уникальные URL-адреса с отметками времени были бы хорошим началом, например. 30 ноября 2009 г. / photo-widthxheight- {другая извлеченная информация EXIF} .jpg