Как администрируют сайты картинок?
А в чем проблема?
В том плане, что в отдельную папку складываются файлы картинок - JPG|GIF - и складываются туда постоянно и бесконечно долго.
Делают по разному.
Одна из самых удачных схем -
Каждый файл хэшируется и хэш файла является путем и именем файла.
Это позволяет быстро и удобно искать файлы и масштабировать.
Например файл example.jpg имеет хэш d63d0e21fdc05f618d55ef306c54af82
Следовательно на диске этот файл имеет имя d63d0e21fdc05f618d55ef306c54af82 и хранится по пути, например d /6/3/.
В небольшой БД вы храните просто соответствие имя или описание и хэш
Это позволяет как угодно масштабировать количество серверов хранения, дисков, папок, и быстро искать нужный файл на нужном устройстве, равномерно распределять файлы по местам хранения, и удобно организовывать резервирование файлов
S3 дико дорого.
S3 это сервис.
Вы платите деньги и получаете результат. Как оно там работает вас интересовать не должно, это не ваши проблемы.
А если вы не хотите платить деньги сервису - реализуете собственное хранилище.