Как хранить большое количества изображений на сервере?
Если речь идет о Node.js, могу поделиться своей реализацией.
Но в целом файлы хранят по хешам, тоесть если у вас например есть файл с хешем ddcab4080b10682d9384b04f41ddbf3e907165a5
то сохраняете его к примеру по пути upload/ddc/ab4/080/b10682d9384b04f41ddbf3e907165a5/file.jpg
а в бд записываете что это за файл и для чего он. 
Ресайзы или какие другие варианты файла можно хранить такupload/ddc/ab4/080/b10682d9384b04f41ddbf3e907165a5/250x140.jpg
Такой способ позволяет избегать дубликатов и в одной папке храниться ограниченное количество файлов (при большом количестве файлов в одной папке, скорость работы файловой системы замедлиться)
Это в основе, далее идет уже мультисерверность и различные серверы кеша для файлов.
От себя добавлю такой момент.
Просто сейчас как раз с этим связался.
Сайт на битриксе, владелец загружал фотографии в одну папку, она у него разрослась до 500 тысяч штук. И из-за этого весь сайт тормозит не смотря на то, что у него свой выделенный и очень мощный сервер.  Тупит и все. Надо решить это проблему, что бы сайт работал быстрее.
Решение следующее. 
Папку, в которой хранятся все картинки, надо разбить на под папки. и распихать туда картинки. 
Готово, сайт ожил и стал работать быстрее. Дело в том, что файловая нагрузка сервера сильно нагружена, потому что приходится делать выборку из всей этой кучи картинок только нужные.