Нужны ли репликам AWS экземпляров Postgres RDS очистка и анализ независимо от их основного экземпляра?

Нужны ли репликам AWS экземпляров Postgres RDS очистка и анализ независимо от их основного экземпляра?

Если предположить, что я не использую логическую репликацию...

Мне не совсем понятно, как репликация низкого уровня взаимодействует с другими операциями низкого уровня, такими каквакуумианализировать.

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


Фон

У нас есть экземпляр RDS, который растет примерно на 2 ТБ в год. Сегодня мы заметили, что некоторые из наших существующих запросов выполняются очень медленно.

Когда в запросе к очень большой таблице, которая постоянно растет, происходят внезапные изменения, первым моим инстинктом становится проверка изменений в коде, а вторым — проверка статистики таблицы.

Но это указало на пробел в моих знаниях в области вакуумирования/анализа.

решение1

Amazon RDS для PostgreSQLиспользуетВстроенный в PostgreSQLпотоковая репликация.

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

Но потоковая репликация на самом деле не реплицирует блоки. Она работает, непрерывно отправляя данные WAL (записи повтора) с первичного сервера для воспроизведения на репликах.

Операция очистки записывается в WAL и воспроизводится на серверах-репликах.

Что касается операции анализа, то полученная статистика записывается в системные таблицы pg_classи pg_statistic. Обновления этих таблиц записываются в WAL и воспроизводятся на репликах.

Связанный контент