Сохраняйте URL-адрес изображения в базе данных или вычисляйте, когда это необходимо для приложения с большим объемом чтения

#database #database-design

#База данных #database-design

Вопрос:

Я загружаю изображения в s3. Во время каждой загрузки я сохраняю две версии изображения. Одна сжатая версия с измененным размером и другая оригинальная увеличенная версия.

В настоящее время я сохраняю URL-адрес исходного изображения в базе данных. URL-адрес меньшего изображения имеет тот же URL-адрес, за исключением слова «сжатый», вставленного между ними.

У меня есть конечная точка list (), которая возвращает оба URL-адреса (исходный — извлекается из базы данных; сжатый — вычисляется в сериализаторе)

Это приложение чрезвычайно загружено для чтения. Это как instagram.

Должен ли я просто сохранить URL-адрес сжатого изображения в базе данных или я должен его вычислить?

Ответ №1:

вы можете просто сохранить URL-адрес исходного размера в базе данных. другой сжатый URL-адрес может быть сгенерирован программой из исходного.

например, исходный URL — это http://xxxx.yyy.zz/picture/123456.jpg сжатый URL-адрес, который может быть http://xxxx.yyy.zz/picture/123456_480p.jpg