Перейти к содержанию

Snowflake рассказала о зеркалировании PostgreSQL через CDC

7.0/10

Инженеры Snowflake в блоге компании описали подход к репликации данных из PostgreSQL в Snowflake с использованием механизма Change Data Capture (CDC). По их словам, решение выполнено как расширение для PostgreSQL и обеспечивает зеркалирование данных в хранилище Snowflake. Материал представляет интерес для инженеров данных, поскольку показывает практический вариант интеграции транзакционной СУБД с аналитическим хранилищем без полного перестроения пайплайна. При этом источник является блогом вендора, поэтому описание может быть подано в рекламном ключе и не содержит независимых сравнений с альтернативными методами репликации.

Контекст

CDC (change data capture) — это метод репликации изменений, при котором INSERT, UPDATE и DELETE считываются из журнала транзакций PostgreSQL, обычно WAL, и непрерывно передаются во внешнее хранилище без опроса таблиц. Такой подход позволяет поддерживать копию данных, близкую к актуальной, включая удаления, и используется для переноса операционных данных в аналитические системы. В описываемом подходе Snowflake реализует CDC как расширение, работающее непосредственно в PostgreSQL, чтобы зеркалировать данные в Snowflake.

Влияние

Разработчики и операторы данных, использующие PostgreSQL как источник для аналитики, получают от Snowflake альтернативный подход к репликации через CDC-механизм, встроенный непосредственно в Postgres, что может упростить зеркалирование данных в Snowflake без внешних конвейеров. Комментарий сообщества указывает, что аналогичные задачи уже решаются в ClickHouse через ClickPipes и CDC, а также в Databricks через унифицированное хранение, поэтому выбор подхода будет зависеть от экосистемы и требований к нагрузке. Практическая ценность подтверждается опытом работы с базами объёмом в несколько терабайт, но пользователи предупреждают о необходимости контролировать объём одновременно реплицируемых данных из-за ограничений вычислительных ресурсов и дискового ввода-вывода в Postgres или целевом кластере.

Обсуждение сообщества

Комментаторы сравнивают подход Snowflake с другими стратегиями: ClickHouse развивает быстрый традиционный CDC после приобретения PeerDB, Databricks делает ставку на единую архитектуру хранения, а Vertica и Oracle GoldenGate ранее решали похожие задачи, но оставались хрупкими к изменениям схемы. Участники также отмечают практические ограничения, связанные с пропускной способностью PostgreSQL и целевых кластеров при репликации больших объемов данных.

Проверка фактов

Утверждение сообщества о том, что ClickHouse приобрёл PeerDB и использовал его для Postgres CDC в ClickPipes, подтверждается независимыми источниками: анонс приобретения датирован 30 июля 2024 года, а интеграция PeerDB в ClickHouse Cloud описана в материалах ClickHouse. Упоминание Vertica WOS/ROS и Oracle GoldenGate 12c как ранних аналогичных подходов в предоставленных результатах поиска не проверялось. Утверждение о том, что Snowflake использует CDC-расширение, работающее непосредственно в Postgres, в доступных результатах не подтверждено и не опровергнуто.

Источники