Запросы к RDS против Запроса к S3 (ListObject) относительно производительности - PullRequest
0 голосов
/ 05 апреля 2020

Я использую RDS (Удаленная база данных), S3 (Удаленное хранилище) и экземпляр EC2.

Когда бы ни выбирали аватары пользователей, чтобы определить, есть ли у участника аватар или нет, мое приложение выполняет:

  1. Используя ListObject, определите, существует папка аватара или нет, и, если существует, получите изображение аватара. (Невозможно использовать запрос Head, поскольку имя файла (ключа) состоит из случайного числа.

    VS

  2. Я хотел бы изменить способ извлечения аватара с использованием RDS (дБ). Всякий раз, когда пользователь загружает аватар, имя файла сохраняется в БД, и Я могу определить после запроса к БД, существует ли изображение аватара или нет, и, если существует, получить изображение аватара от S3.

Таким образом, разница между двумя способами заключается в запросе к S3 с использованием Listobeject vs запросы в RDS независимо от того, существует ли пользовательский аватар или нет.

Какой способ лучше с точки зрения производительности и стоимости?

Я точно не знаю ListObject, однако думаю, что он может использовать file_exist, опендир, р eaddir, closedir для перечисления объектов, поэтому лучше обращаться к БД. Я не уверен, хотя.

Любые советы приветствуются. Спасибо. Хорошего вам! :)

1 Ответ

1 голос
/ 05 апреля 2020

Вы бы всегда лучше обращались к базе данных. Это связано с тем, что базы данных предназначены для запросов, а Amazon S3 - для хранения данных. Это не обязательно будет так быстро.

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

...