[Документация Yandex Cloud](../../index.md) > [Yandex MPP Analytics for PostgreSQL](../index.md) > [Концепции](overview.md) > Техническое обслуживание

# Техническое обслуживание в Yandex MPP Analytics for PostgreSQL

Операции технического обслуживания в Yandex MPP Analytics for PostgreSQL делятся на два класса:

* [нерегламентные операции](#irregular-ops) обслуживания кластера;
* [регламентные операции](#regular-ops) обслуживания баз данных.

## Нерегламентные операции {#irregular-ops}

Нерегламентные операции связаны с обновлением ПО кластера и восстановлением хостов после сбоев. Они могут вызывать изменение настроек кластера и его перезапуск. При этом выполняемые запросы будут прерваны, а незавершенные транзакции отменены.

Нерегламентные операции, связанные с обновлениями, выполняются в [окно обслуживания](#maintenance-window) в [определенном порядке](#maintenance-order). К таким операциям относятся:

* Установка минорных обновлений СУБД. Приводит к перезапуску СУБД.
* Установка обновлений PXF. Приводит к перезапуску сервиса PXF.
* Перезагрузка хостов кластера, необходимая для плановых работ на инфраструктуре облака (замена сбойных компонентов, установка системных обновлений, плановое обслуживание оборудования и т. д.).
* Установка обновлений безопасности на хосты кластера. Приводит к перезапуску хостов.

Нерегламентные операции, связанные с восстановлением работоспособности кластера, выполняются по необходимости в любое время. К таким операциям относятся:

* Восстановление данных после отказа физического хоста или нереплицированного диска в инфраструктуре облака.
* [Ребалансировка сегментов](https://techdocs.broadcom.com/us/en/vmware-tanzu/data-solutions/tanzu-greenplum/7/greenplum-database/utility_guide-ref-gprecoverseg.html) — возвращение предпочитаемых ролей сегментам после восстановления хоста или сегментов.

### Окно обслуживания {#maintenance-window}

Предпочтительное время технического обслуживания можно задать при [создании кластера](../operations/cluster-create.md) или [изменении его настроек](../operations/update.md):

* Вариант **В любое время** (по умолчанию) разрешает проводить техническое обслуживание в любое время.
* Вариант **По расписанию** позволяет выбрать день недели и интервал времени по UTC, когда будет проводиться техническое обслуживание. Например, можно выбрать время, когда кластер наименее загружен.

Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя обновление СУБД, применение патчей и так далее.

{% note info %}

Чтобы просматривать информацию о заданиях на техническое обслуживание, необходима [роль](../security/index.md#managed-greenplum-maintenanceTask-viewer) `managed-greenplum.maintenanceTask.viewer` или выше.

Чтобы управлять заданиями на техническое обслуживание, необходима [роль](../security/index.md#managed-greenplum-maintenanceTask-editor) `managed-greenplum.maintenanceTask.editor` или выше.

{% endnote %}

### Порядок обслуживания {#maintenance-order}

Техническое обслуживание, связанное с обновлением ПО, проводится в следующем порядке:

1. [Хосты-сегменты](index.md) последовательно проходят техническое обслуживание. Порядок хостов в очереди определяется случайным образом. Если во время технического обслуживания потребуется перезагрузка хоста-сегмента, он станет недоступным на это время.
1. Резервный (STANDBY) хост-мастер проходит техническое обслуживание. Если во время технического обслуживания потребуется перезагрузка резервного хоста-мастера, он станет недоступным на это время.
1. Первичный (PRIMARY) хост-мастер проходит техническое обслуживание. Если во время технического обслуживания потребуется перезагрузка первичного хоста-мастера и он станет недоступным, его роль возьмет на себя резервный хост-мастер. Если вы используете для доступа к кластеру [FQDN](../../glossary/fqdn.md) первичного хоста-мастера, такой кластер может стать недоступным. Чтобы обеспечить бесперебойную работу приложения, подключайтесь к кластеру через [особый FQDN](../operations/connect/fqdn.md#fqdn-master), всегда указывающий на первичный хост-мастер.

## Регламентные операции {#regular-ops}

Регламентные операции необходимы для корректной работы баз данных. Они выполняются регулярно по расписанию и не прерывают выполнение запросов. К таким операциям относятся:

* Очистка (`VACUUM`) таблиц системного каталога. Выполняется три раза в сутки.
* [Очистка пользовательских таблиц](#custom-table-vacuum).
* [Сбор статистики](#get-statistics).
* [Резервное копирование](backup.md).

Перераспределение данных при [расширении кластера](expand.md) может быть запущено в виде [фонового процесса](expand.md#setting-delay-redistribution), не являясь при этом регламентной операцией. Процесс будет запущен после очистки таблиц, но до сбора статистики.

### Очистка пользовательских таблиц {#custom-table-vacuum}

Очистка пользовательских таблиц выполняется ежедневно. Базы данных обрабатываются параллельно в два потока. В каждой базе данных сначала обрабатываются таблицы, для которых очистка еще не выполнялась. Затем обрабатываются остальные таблицы, начиная с той, в которой очистка не выполнялась дольше всего.

Существует два режима очистки:

* Последовательный — в этом режиме таблицы обрабатываются одна за другой. Общее время выполнения операции ограничено мягким таймаутом: при его достижении очистка обрабатываемой таблицы будет закончена, а затем процесс завершится.
* Параллельный — в этом режиме таблицы обрабатываются в два потока. Таймаут в этом режиме жесткий: при его достижении все процессы очистки принудительно завершаются.

По умолчанию используется последовательный режим. Чтобы переключиться на параллельный режим очистки таблиц, обратитесь в [техническую поддержку](https://center.yandex.cloud/support).

Время старта операции `VACUUM` и таймаут выполнения задаются в настройках при [создании](../operations/cluster-create.md) или [изменении кластера](../operations/update.md).

[Подробнее об очистке таблиц в Yandex MPP Analytics for PostgreSQL](vacuum.md).

### Сбор статистики {#get-statistics}

Сбор статистики (операция `ANALYZE`) выполняется после очистки таблиц (если не выполняется [фоновое перераспределение данных](expand.md#setting-delay-redistribution)). Базы данных обрабатываются параллельно в два потока. При этом в каждой базе данных запускается по два потока сбора статистики по таблицам. Таким образом, сбор статистики может выполняться в четыре потока.

Для сбора статистики используется [утилита analyzedb](https://techdocs.broadcom.com/us/en/vmware-tanzu/data-solutions/tanzu-greenplum/7/greenplum-database/utility_guide-ref-analyzedb.html). Она выполняет команду `ANALYZE` для всех [AO-таблиц](tables.md), которые изменились с момента последнего сбора статистики этой утилитой, а также для всех без исключения heap-таблиц.

Длительность сбора статистики из каждой базы данных ограничена таймаутом, который задается в настройках при [создании](../operations/cluster-create.md) или [изменении кластера](../operations/update.md). Общая длительность сбора статистики не ограничена.