Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Azure Cosmos DB для PostgreSQL (на базе расширения Citus для PostgreSQL)
Функция чтения реплик позволяет реплицировать данные из кластера в кластер только для чтения. Эти реплики обновляются асинхронно с использованием технологии физической репликации PostgreSQL. Вы можете запускать до пяти реплик с главного сервера.
Реплики — это новые кластеры, которыми вы управляете как обычными кластерами. За каждую реплику чтения выставляется счет с учетом выделенных вычислительных ресурсов (количество виртуальных ядер) и хранилища (ГиБ/мес). Затраты на вычисления и хранение для кластеров реплик совпадают с затратами на обычные кластеры.
Дополнительные сведения о создании реплик и управлении ими см. здесь.
Когда использовать реплики чтения
Компонент "Реплика чтения" помогает повысить производительность и масштабируемость рабочих нагрузок с высокой интенсивностью чтения. Рабочие нагрузки чтения можно изолировать в реплики, направив рабочие нагрузки записи на главный сервер.
К типичным сценариям относится ситуация, когда рабочие нагрузки бизнес-аналитики и анализа используют реплику чтения в качестве источника данных для отчетов.
Так как реплики доступны только для чтения, они напрямую не снимают с исходной группы нагрузку, связанную с записью.
Рекомендации
Эта функция предназначена для сценариев, в которых допустима задержка репликации, и служит для разгрузки запросов. Она не поддерживает сценарии синхронной репликации, когда данные реплик должны быть всегда актуальными. Между первичным и репликой будет измеримая задержка. Она может составлять минуты или даже часы в зависимости от конкретной рабочей нагрузки и сетевой задержки между главным сервером и репликой. Данные на реплике в итоге становятся согласованными с данными на основном сервере. Используйте этот компонент только для таких рабочих нагрузок, которым не страшна такая задержка.
Создание реплики
При запуске рабочего процесса создания реплики создается пустой кластер. Новый кластер заполняется данными, которые были в первичном кластере. Время создания зависит от объема данных на основном источнике и времени, прошедшего с момента последнего еженедельного полного резервного копирования. Время может варьироваться от нескольких минут до нескольких часов.
Функция репликации для чтения использует физическую репликацию PostgreSQL, а не логическую. По умолчанию используется потоковая репликация со слотами репликации. При необходимости для наверстывания используется доставка журналов.
Изучите, как создать реплику для чтения в портале Azure.
Подключение к реплике
Создаваемая реплика не наследует правила брандмауэра от первичного кластера. Эти правила следует настроить для каждой реплики отдельно.
Реплика наследует учетную запись администратора (citus
) из основного кластера.
Кроме того, в реплики чтения реплицируются все учетные записи пользователей. Вы можете подключиться к реплике чтения, используя только учетные записи пользователей, которые доступны на основном сервере.
Вы можете подключиться к узлу-координатору реплики, используя имя узла и действительную учетную запись пользователя, как в обычном кластере. Если сервер имеет имя my replica и на нем определен администратор с именем citus, для подключения к такому узлу-координатору можно использовать следующий запрос psql:
psql -h c-myreplica.12345678901234.postgres.cosmos.azure.com -U citus@myreplica -d postgres
При появлении запроса введите пароль для учетной записи пользователя.
Продвижение реплики до независимого кластера
Можно повысить уровень реплики до независимого кластера, доступного для чтения и записи. Повышенная реплика больше не получает обновления от оригинала и повышение не может быть отменено. Реплики с повышенным уровнем могут иметь собственные реплики.
Существует два распространенных сценария повышения уровня реплики:
Аварийное восстановление. Если что-то идет не так с основным кластером или целым регионом, можно открыть другой кластер для записи как экстренную меру.
Миграция в другой регион. Если требуется перейти в другой регион, создайте реплику в новом регионе, дождитесь, пока данные синхронизируются, а затем активируйте реплику. Чтобы избежать потенциальной потери данных при повышении уровня, возможно, потребуется отключить запись в исходном кластере после того, как реплика восполнит данные.
Вы можете увидеть, насколько реплика продвинулась с помощью метрики
replication_lag
. Дополнительные сведения см. в разделе Метрики.
Рекомендации
В этом разделе изложены основные моменты касательно функции "Чтение реплики".
Новые реплики
Реплика для чтения создается как новый кластер. Существующий кластер нельзя преобразовать в реплику. Невозможно создать реплику другой реплики чтения.
Конфигурация реплики
Реплики наследуют параметры вычислительных ресурсов, хранилища и рабочих узлов от своих исходных групп. Можно изменить некоторые параметры реплики, но не все. Например, можно изменить вычисление, правила брандмауэра для общего доступа и частные конечные точки для закрытого доступа. Невозможно изменить размер хранилища или число рабочих узлов.
Учитывайте, что реплики должны иметь достаточную производительность для обработки всех обновлений, поступающих от исходной группы. В частности, масштабирование вычислительных ресурсов в репликах следует выполнять одновременно с масштабированием исходной группы.
Правила брандмауэра и параметры конфигурации не наследуются репликой от главного сервера ни при создании реплики, ни в процессе работы.
Репликация между регионами
Реплики чтения можно создавать в регионе первичного кластера или в любом другом регионе, поддерживаемом Azure Cosmos DB for PostgreSQL. Ограничение в пять реплик на кластер во всех регионах означает, что можно использовать всего пять реплик, а не по пять в каждом регионе.
Следующие шаги
- Узнайте, как создать реплики чтения и управлять ими в портале Azure.