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, в доступных результатах не подтверждено и не опровергнуто.
Источники
- How we pushed CDC into Postgres — and turned replication into clockwork
- PostgreSQL to Snowflake: A Hands-On CDC Streaming Guide - DEV Community
- Real-Time CDC From PostgreSQL to Snowflake, Step by Step | by Dani Palma | Snowflake Builders Blog: Data Engineers, App Developers, AI, & Data Science | Jul, 2026 | Medium
- Postgres CDC in ClickHouse, A year in review | ClickHouse
- ClickHouse acquires PeerDB for native Postgres CDC integration
- ClickHouse welcomes PeerDB: Adding the fastest Postgres CDC to the fastest OLAP database
- How we pushed CDC into Postgres, and turned replication into ...
- Ingesting data from Postgres to ClickHouse (using CDC)
- Change Data Capture (CDC) with PostgreSQL and ... - ClickHouse