Перейти к основному содержимому
Перейти к основному содержимому

Жизненный цикл Postgres ClickPipe

В этом документе описываются различные этапы Postgres ClickPipe, возможные статусы и то, что они означают.

Подготовка инфраструктуры

Когда вы нажимаете кнопку Create ClickPipe, ClickPipe создаётся в состоянии «Provisioning». На этапе подготовки инфраструктуры мы разворачиваем базовые ресурсы, необходимые для запуска ClickPipes в рамках сервиса, а также регистрируем начальные метаданные для этого ClickPipe. Поскольку вычислительные ресурсы для ClickPipes внутри сервиса являются общими, ваш второй ClickPipe будет создан гораздо быстрее первого — инфраструктура уже развёрнута.

Настройка

После того как пайп подготовлен (provisioned), он переходит в состояние Setup. В этом состоянии мы создаём целевые таблицы ClickHouse. Здесь же мы получаем и сохраняем описания ваших таблиц-источников.

Snapshot

После завершения настройки pipe переходит в состояние Snapshot (если это не pipe, предназначенный только для CDC, который сразу перейдёт в состояние Running). Термины Snapshot, Initial Snapshot и более распространённый Initial Load являются взаимозаменяемыми. В этом состоянии мы создаём snapshot таблиц исходной базы данных и загружаем их в ClickHouse. Для этого не используется логическая репликация, но репликационный слот создаётся на этом шаге, поэтому параметры max_slot_wal_keep_size и хранения должны учитывать рост слота во время начальной загрузки. Дополнительную информацию о начальной загрузке см. в документации по параллельной начальной загрузке. Pipe также перейдёт в состояние Snapshot, когда запускается повторная синхронизация (resync) или когда к существующему pipe добавляются новые таблицы.

Работает

После завершения начальной загрузки конвейер переходит в состояние Running (если это не конвейер только для snapshot, который перейдёт в состояние Completed). На этом этапе конвейер начинает выполнять CDC (фиксацию изменений данных). В этом состоянии мы запускаем логическую репликацию из исходной базы данных в ClickHouse. Для получения информации об управлении CDC см. документ об управлении CDC.

Приостановлено

После того как конвейер перейдёт в состояние Running, вы можете приостановить его. Это остановит процесс CDC, и конвейер перейдёт в состояние Paused. В этом состоянии новые данные не извлекаются из исходной базы данных, но уже существующие данные в ClickHouse остаются неизменными. Из этого состояния конвейер можно возобновить.

Приостановка

Примечание

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

Когда вы нажимаете кнопку Pause, конвейер переходит в состояние Pausing. Это переходное состояние, в котором происходит остановка процесса CDC. После полной остановки процесса CDC конвейер перейдет в состояние Paused.

Изменение

Примечание

Это состояние появится в ближайшее время. Если вы используете наш OpenAPI, рекомендуем уже сейчас добавить его поддержку, чтобы ваша интеграция продолжила работать после релиза.

В настоящее время это состояние означает, что pipe находится в процессе удаления таблиц.

Повторная синхронизация

Примечание

Это состояние появится в ближайшее время. Если вы используете наш OpenAPI, заранее добавьте поддержку этого состояния, чтобы ваша интеграция продолжила работать после его выхода.

Это состояние указывает, что конвейер находится на этапе повторной синхронизации, в рамках которого выполняется атомарная замена исходных таблиц таблицами _resync. Подробнее о повторной синхронизации см. в документации по resync.

Завершено

Это состояние применяется к конвейерам, выполняющим только snapshot, и указывает, что snapshot завершён и никакой работы больше не требуется.

Failed

Если в конвейере происходит неисправимая ошибка, он переходит в состояние Failed. Вы можете обратиться в службу поддержки или повторно синхронизировать конвейер, чтобы восстановить его из этого состояния.