Хранение загруженных пользователями файлов на веб-сервере

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

Хотя я хотел бы иметь архитектуру, которая хорошо масштабируется для данных большого объема, в настоящее время я не беспокоюсь о чрезвычайно больших объемах (в масштабе facebook, google).

Я думал о том, чтобы сохранить файлы в файловой системе в

/files/{username}/

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

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

7
задан xbonez 28 October 2011 в 04:05
поделиться