Мне нужно было сохранить изображения в моем бэкэнде, и, наконец, я решил сохранить их в файловой системе, а не в базе данных в виде больших двоичных объектов.Так что теперь у меня другая проблема, я хочу сделать свою базу данных максимально оптимизированной.Вот мои потребности и мои подходы:
У меня есть следующие сущности:
В моей файловой системеЯ могу хранить изображения в каталогах, названных в честь идентификатора пользователя.Итак, в основном:
Будет представлять изображения о пользователе с идентификатором 16. Теперь я знаю, что у меня будет много каталогов и много изображений, и я знаю, что хранить их пути в базе данных было бы лучше, чем запрашивать файловую систему.(или ОС будет знать расположение всех каталогов, делая эти таблицы ненужными?) Однако мне было интересно, должен ли я создать таблицу, такую как (userId,imagePath)
, соединяющую каждое изображение с идентификатором пользователя, или (userId,directoryPath)
, соединяющую всеПользователь с путем к его каталогу, затем используйте что-то вроде Files.walk(directoryPath)
, чтобы перечислить все пути изображений в этом каталоге.Каков будет лучший подход, или это способ, основанный на мнении?Также был бы полезен совершенно другой подход или любые советы.