Данные вашего приложения не должны требовать сложного конвейера, чтобы стать аналитическими данными. С сегодняшнего дня это не так: зеркалирование данных Postgres стало общедоступным.
Зеркалирование данных Postgres обеспечивает бесшовную репликацию таблиц Postgres в Snowflake для аналитики и ИИ. Вы можете настроить зеркало за считанные секунды, и каждая операция вставки, обновления или удаления будет передаваться напрямую в Snowflake. Изменения схемы применяются автоматически, а новые таблицы подхватываются без участия пользователя.
Самое приятное — нет никакой внешней инфраструктуры, которую нужно развертывать или обслуживать. Это просто Postgres, работающий в связке со Snowflake.
Рисунок 1: Обзор зеркалирования данных Postgres.
Зеркалирование данных устраняет «налог на конвейеры»
Спросите любую команду по работе с данными об их самой утомительной задаче, и вы услышите один и тот же ответ: перемещение данных между транзакционными и аналитическими системами. Команды вынуждены постоянно следить за CDC-коннекторами, пакетными заданиями, которые ломаются, и снимками данных, которые теряют актуальность. Эта проблема существует уже 30 лет, и мы стали слишком невосприимчивы к тому, что это считается нормой.
В эпоху ИИ своевременность имеет значение. Когда ваши данные готовы и находятся там, где вы можете использовать их в режиме реального времени, это повышает ценность бизнеса — как за счет устранения технического долга, так и за счет предоставления командам необходимых данных без задержек. Конвейеры, которые работают с отставанием и требуют постоянного присмотра, не просто отнимают время инженеров. Они оставляют ваши данные на часы или дни позади реальности. Модель обнаружения мошенничества не сможет остановить сегодняшнюю атаку с помощью вчерашней пакетной загрузки. Зеркалирование данных позволяет устранить этот разрыв.
Как это работает: зеркалирование данных Postgres
Зеркалирование данных непрерывно реплицирует ваши данные Postgres в Snowflake за считанные секунды. Как только вы создаете зеркало, Snowflake поддерживает целевые таблицы, которые отражают текущее состояние исходных таблиц, включая изменения схемы и новые таблицы, которые вы добавляете в зеркалируемые схемы.
Настройте это в несколько кликов в интерфейсе Snowsight или с помощью одной SQL-команды — или, что еще лучше, просто попросите Snowflake CoCo.
Благодаря зеркалированию данных вы получаете:
- Никакой дополнительной инфраструктуры: зеркала работают внутри Snowflake, поэтому нет никаких дополнительных сервисов или поставщиков, с которыми нужно иметь дело.
Никакой дополнительной инфраструктуры: зеркала работают внутри Snowflake, поэтому нет никаких дополнительных сервисов или поставщиков, с которыми нужно иметь дело.
- Свежие данные для чтения: каждая зеркалируемая таблица включает представление $live, объединяющее уже примененные данные с изменениями, находящимися в процессе обработки. Читатели видят зафиксированные изменения источника в течение нескольких секунд.
Свежие данные для чтения: каждая зеркалируемая таблица включает представление $live, объединяющее уже примененные данные с изменениями, находящимися в процессе обработки. Читатели видят зафиксированные изменения источника в течение нескольких секунд.
- Транзакционная согласованность: изменения из одной исходной транзакции появляются в целевой системе вместе. Внешние ключи сохраняются, а соединения остаются точными.
Транзакционная согласованность: изменения из одной исходной транзакции появляются в целевой системе вместе. Внешние ключи сохраняются, а соединения остаются точными.
- Встроенная история изменений: каждая таблица получает семидневную ленту изменений ($changes), отображающую вставки, обновления и удаления. Ее можно запрашивать как из Snowflake, так и из Postgres.
Встроенная история изменений: каждая таблица получает семидневную ленту изменений ($changes), отображающую вставки, обновления и удаления. Ее можно запрашивать как из Snowflake, так и из Postgres.
- Высокая пропускная способность при масштабировании: оптимизированная стратегия применения пропускает полное сканирование таблиц, поэтому стоимость и производительность остаются стабильными по мере роста ваших данных.
Высокая пропускная способность при масштабировании: оптимизированная стратегия применения пропускает полное сканирование таблиц, поэтому стоимость и производительность остаются стабильными по мере роста ваших данных.
Кроме того, все это построено на открытом фундаменте. «Под капотом» зеркалирование использует pg_lake, расширение Postgres с открытым исходным кодом от Snowflake, для захвата изменений через стандартную логическую репликацию и записи их в таблицы Apache Iceberg™. Между вашей базой данных и данными нет проприетарного слоя. Вы можете зеркалировать данные в стандартные таблицы Snowflake для простоты или в таблицы Iceberg в собственном хранилище для полной переносимости.
Почему зеркалирование данных отличается: «push», а не «pull»
Большинство инструментов репликации встраивают отдельный сервис между вашей базой данных и Snowflake. Этот сервис «вытягивает» (pull) изменения по сети, не зная, что происходит внутри Postgres: когда изменилась схема, как снимок соотносится с изменениями в процессе обработки, или не работает ли база данных или просто сеть. Зеркалирование данных меняет эту модель.
Расширение Postgres захватывает изменения изнутри базы данных и «выталкивает» (push) их транзакционными пакетами в открытые журналы изменений Iceberg в объектном хранилище. Затем Snowflake применяет эти пакеты с помощью бессерверных вычислений, также транзакционно. Поскольку расширение видит все, что происходит в Postgres, оно координирует снимки, изменения схемы и восстановление на стороне источника, чтобы они не конфликтовали в целевой системе.
Транзакции с обеих сторон означают, что каждая зеркалируемая таблица обновляется согласованно, попадая точно на границу транзакции Postgres. Вставки добавляются (append), а не обновляются (upsert), поэтому самые большие и интенсивно пополняемые таблицы остаются быстрыми и экономичными по мере роста.
Результаты:
- Никаких новых поставщиков, которых нужно оценивать, оплачивать и контролировать
Никаких новых поставщиков, которых нужно оценивать, оплачивать и контролировать
- Никакой новой инфраструктуры для развертывания и мониторинга
Никакой новой инфраструктуры для развертывания и мониторинга
- Никаких операций upsert, которые замедляются по мере роста ваших таблиц
Никаких операций upsert, которые замедляются по мере роста ваших таблиц
- Никакой привязки к поставщику в отношении ваших данных об изменениях, так как они попадают в открытые таблицы Apache Iceberg, а зеркалирование построено на нашем расширении с открытым исходным кодом pg_lake
Никакой привязки к поставщику в отношении ваших данных об изменениях, так как они попадают в открытые таблицы Apache Iceberg, а зеркалирование построено на нашем расширении с открытым исходным кодом pg_lake
«Зеркалирование данных оптимизировало то, как мы управляем данными, позволив нам полностью отказаться от процесса копирования данных. Усилия по поддержке и затраты снизились, и наши клиенты теперь получают данные о кредитных спредах, необходимые для оценки облигаций, быстрее и надежнее».
Руководитель платформы аналитических данных, SimCorp
Что команды создают с помощью зеркалирования данных
Зеркалирование данных полезно везде, где ваши аналитические или ИИ-рабочие нагрузки зависят от свежих транзакционных данных. Вот что команды делают с этим сегодня:
- На одного поставщика в счете меньше: команда платформы данных, использующая промежуточное ПО для передачи данных Postgres в Snowflake, может заменить целые конвейеры одним вызовом CREATE_MIRROR. Компания Ericsson сделала именно это, консолидировав четыре устаревшие базы данных, устранив конвейеры синхронизации и сократив время обработки данных на 99%.
На одного поставщика в счете меньше: команда платформы данных, использующая промежуточное ПО для передачи данных Postgres в Snowflake, может заменить целые конвейеры одним вызовом CREATE_MIRROR. Компания Ericsson сделала именно это, консолидировав четыре устаревшие базы данных, устранив конвейеры синхронизации и сократив время обработки данных на 99%.
- Дашборды, показывающие, что происходит сейчас: команда электронной коммерции зеркалирует свою таблицу заказов в Snowflake. Каждая покупка, отмена и возврат отображаются за секунды. Их операционный дашборд отражает выручку в реальном времени, а не закрытие вчерашнего дня. Когда происходит всплеск продаж во время флеш-распродажи, они видят это немедленно, а не в завтрашнем отчете.
Панели мониторинга, показывающие, что происходит прямо сейчас: команда электронной коммерции зеркалирует свою таблицу заказов в Snowflake. Каждая покупка, отмена и возврат отображаются за считанные секунды. Их операционная панель отражает выручку в режиме реального времени, а не по итогам вчерашнего дня. Когда во время распродажи происходит всплеск активности, они видят это немедленно, а не в завтрашнем отчете.
- AI-агенты, которые действительно знают, что происходит: служба поддержки зеркалирует учетные записи клиентов и историю заказов в Snowflake, где AI-агенты Snowflake Cortex объединяют эти данные с информацией о продуктах, статусе доставки и прошлых взаимодействиях. Когда клиент спрашивает: «Где мой заказ?», агент отвечает, основываясь на текущем состоянии бизнеса.
AI-агенты, которые действительно знают, что происходит: служба поддержки зеркалирует учетные записи клиентов и историю заказов в Snowflake, где AI-агенты Snowflake Cortex объединяют эти данные с информацией о продуктах, статусе доставки и прошлых взаимодействиях. Когда клиент спрашивает: «Где мой заказ?», агент отвечает, основываясь на текущем состоянии бизнеса.
- Оценка мошенничества и рисков при проведении транзакций в реальном времени: компания, предоставляющая финансовые услуги, зеркалирует платежные события в Snowflake и запускает модели оценки в режиме реального времени. Подозрительные закономерности выявляются до того, как деньги будут списаны, а не на следующее утро, когда наконец выполнится пакетное задание.
Оценка мошенничества и рисков при проведении транзакций в реальном времени: компания, предоставляющая финансовые услуги, зеркалирует платежные события в Snowflake и запускает модели оценки в режиме реального времени. Подозрительные закономерности выявляются до того, как деньги будут списаны, а не на следующее утро, когда наконец выполнится пакетное задание.
- Аудиторские журналы, которые не нужно создавать вручную: команда по обеспечению соответствия требованиям использует ленту $changes, чтобы отвечать на вопросы «Что изменилось и когда?» без необходимости поддерживать пользовательские таблицы истории. Каждая операция вставки, обновления и удаления в зеркалируемых таблицах доступна для запросов в течение семи дней.
Аудиторские журналы, которые не нужно создавать вручную: команда по обеспечению соответствия требованиям использует ленту $changes, чтобы отвечать на вопросы «Что изменилось и когда?» без необходимости поддерживать пользовательские таблицы истории. Каждая операция вставки, обновления и удаления в зеркалируемых таблицах доступна для запросов в течение семи дней.
«Раньше наши прикладные данные и аналитические данные находились в двух разных местах. Теперь все они в Snowflake. Транзакционные данные автоматически зеркалируются в Snowflake, поэтому наши клиенты могут использовать ИИ для работы с ними без дополнительных усилий».
Технический директор, Simfoni
Начните работу с зеркалированием данных за считанные минуты
Зеркалирование данных доступно уже сегодня на AWS и Microsoft Azure во всех регионах, где работает Snowflake Postgres. Вы можете начать использовать зеркалирование данных Postgres за три шага:
- Запустите Snowflake Postgres или используйте уже имеющийся экземпляр.
Запустите Snowflake Postgres или используйте уже имеющийся экземпляр.
- Создайте зеркало в несколько кликов в Snowsight, с помощью одной SQL-команды или обратившись к CoCo. Выберите конкретные таблицы, полную схему или базу данных.
Создайте зеркало в несколько кликов в Snowsight, с помощью одной SQL-команды или обратившись к CoCo. Выберите конкретные таблицы, полную схему или базу данных.
- Запрашивайте свои данные в Snowflake, используя целевые таблицы.
Запрашивайте свои данные в Snowflake, используя целевые таблицы.
/)






