Жизненный цикл Postgres ClickPipe
В этом документе описываются различные этапы Postgres ClickPipe, возможные статусы и то, что они означают.
Provisioning
Когда вы нажимаете кнопку Create ClickPipe, ClickPipe создаётся в состоянии Provisioning. В процессе подготовки мы разворачиваем базовую инфраструктуру для запуска ClickPipes сервиса, а также регистрируем начальные метаданные для конвейера. Поскольку вычислительные ресурсы для ClickPipes в рамках одного сервиса являются общими, ваш второй ClickPipe будет создан гораздо быстрее первого, так как инфраструктура уже развёрнута.
Настройка
После создания pipe он переходит в состояние Setup. На этом этапе мы создаём целевые таблицы ClickHouse. Здесь же мы получаем и сохраняем определения таблиц вашей исходной системы.
Снимок
После завершения настройки мы переходим в состояние Snapshot (если это не конвейер только для CDC, который сразу перейдет в состояние Running). Термины Snapshot, Initial Snapshot и более распространенный Initial Load используются как синонимы. В этом состоянии мы создаем снимок таблиц исходной базы данных и загружаем их в ClickHouse. Для этого не используется логическая репликация, но репликационный слот создается на этом шаге, поэтому параметры max_slot_wal_keep_size и настройки хранилища должны учитывать возможный рост объема данных в слоте во время исходной загрузки. Дополнительную информацию об исходной загрузке см. в документации по параллельной исходной загрузке. Конвейер также переходит в состояние Snapshot, когда запускается повторная синхронизация (resync) или когда к существующему конвейеру добавляются новые таблицы.
Работа
После завершения первоначальной загрузки конвейер переходит в состояние Running (если это не конвейер только для снимка, который в этом случае перейдёт в состояние Completed). На этом этапе конвейер начинает CDC (фиксацию изменений данных). В этом состоянии запускается логическая репликация из исходной базы данных в ClickHouse. Подробности об управлении CDC см. в документации по управлению CDC.
Приостановка
Как только pipe перейдёт в состояние Running, вы можете приостановить его. Это остановит процесс CDC, и pipe перейдёт в состояние Paused. В этом состоянии новые данные из исходной базы данных не считываются, но уже существующие данные в ClickHouse остаются неизменными. Из этого состояния вы можете возобновить работу pipe.
Приостановка
Это состояние появится в ближайшее время. Если вы используете наш OpenAPI, рекомендуем уже сейчас добавить поддержку этого состояния, чтобы ваша интеграция продолжила корректно работать после его выпуска.
Когда вы нажимаете кнопку Pause, pipe переходит в состояние Pausing. Это переходное состояние, в котором выполняется остановка процесса CDC. Как только процесс CDC будет полностью остановлен, pipe перейдёт в состояние Paused.
Изменение
Это состояние появится в ближайшее время. Если вы используете наш OpenAPI, рекомендуем заранее добавить его поддержку, чтобы ваша интеграция продолжила работать после выпуска этой возможности.
В настоящее время это состояние означает, что pipe находится в процессе удаления таблиц.
Повторная синхронизация
Это состояние появится в ближайшее время. Если вы используете наш OpenAPI, рекомендуем уже сейчас добавить поддержку этого состояния, чтобы ваша интеграция продолжала корректно работать после его появления.
Это состояние указывает, что pipe находится в фазе повторной синхронизации, в ходе которой выполняется атомарная замена таблиц _resync исходными таблицами. Дополнительную информацию о повторной синхронизации см. в документации по resync.
Завершено
Это состояние применяется только к snapshot-пайпам и указывает, что snapshot завершён и больше ничего делать не нужно.
Сбой
Если в конвейере возникает невосстановимая ошибка, он переходит в состояние Failed. Вы можете обратиться в службу поддержки или повторно синхронизировать конвейер, чтобы восстановиться из этого состояния.