Skip to main content
ClickHouse Managed Postgres — это Postgres корпоративного уровня на базе NVMe-хранилища, обеспечивающий производительность до 10 раз выше для дисковых рабочих нагрузок по сравнению с сетевыми хранилищами, такими как EBS. Это руководство по быстрому старту состоит из двух частей:
  • Часть 1: Начало работы с NVMe Postgres и оценка его производительности
  • Часть 2: Откройте для себя Real-time аналитику благодаря интеграции с ClickHouse
Managed Postgres в настоящее время доступен в AWS в нескольких регионах и находится в стадии публичной бета-версии.В этом руководстве по быстрому старту вы:
  • Создайте инстанс Managed Postgres с NVMe-производительностью
  • Загрузите 1 миллион событий и посмотрите на скорость NVMe в деле
  • Выполняйте запросы и оцените производительность с низкими задержками
  • Реплицируйте данные в ClickHouse для Real-time аналитики
  • Выполняйте запросы к ClickHouse напрямую из Postgres с помощью pg_clickhouse

Часть 1: Начало работы с NVMe Postgres

Создание базы данных

Чтобы создать новый сервис Managed Postgres, нажмите кнопку New service в списке сервисов Cloud Console. После этого вы сможете выбрать Postgres в качестве типа базы данных.Введите имя для вашего инстанса базы данных и нажмите Create service. Вы будете перенаправлены на страницу обзора.Ваш инстанс Managed Postgres будет подготовлен и готов к использованию в течение 3–5 минут.

Подключитесь к базе данных

На боковой панели слева вы увидите кнопку Connect. Нажмите на неё, чтобы просмотреть сведения о подключении и строки подключения в различных форматах.Скопируйте строку подключения psql и подключитесь к своей базе данных. Также можно использовать любой совместимый с Postgres клиент, например DBeaver, или любую библиотеку приложения.

Оцените производительность NVMe

Давайте посмотрим, как проявляется производительность NVMe на практике. Сначала включите замер времени в psql, чтобы оценить время выполнения запроса:
Создайте две тестовые таблицы для событий и пользователей:
Теперь вставьте 1 миллион событий и посмотрите на скорость NVMe:
Производительность NVMe1 миллион строк с данными JSONB вставляется менее чем за 4 секунды. В традиционных облачных базах данных, использующих сетевые хранилища вроде EBS, та же операция обычно занимает в 2–3 раза больше времени из-за задержек при сетевом обмене и ограничений по IOPS. NVMe-хранилище устраняет эти узкие места, поскольку хранилище физически подключено к вычислительным ресурсам.Производительность зависит от размера инстанса, текущей нагрузки и характеристик данных.
Вставьте 1 000 пользователей:

Выполнение запросов к данным

Теперь выполним несколько запросов, чтобы оценить скорость отклика Postgres с NVMe-хранилищем.Агрегируйте 1 миллион событий по типу:
Запрос с фильтрацией JSONB и диапазоном дат:
JOIN событий с пользователями:
Ваш Postgres готовНа этом этапе у вас есть полностью функциональная высокопроизводительная база данных Postgres, готовая для транзакционных нагрузок.Перейдите к части 2, чтобы узнать, как нативная интеграция ClickHouse может значительно ускорить вашу аналитику.

Часть 2: Добавление аналитики в реальном времени с помощью ClickHouse

Postgres отлично справляется с транзакционными рабочими нагрузками (OLTP), тогда как ClickHouse создан специально для аналитических запросов (OLAP) над большими датасетами. Интегрируя оба решения, вы получаете лучшее от каждого из них:
  • Postgres для транзакционных данных вашего приложения (вставки, обновления, точечные запросы по ключу)
  • ClickHouse для аналитики по миллиардам строк за доли секунды
В этом разделе описано, как реплицировать данные из Postgres в ClickHouse и выполнять к ним запросы.

Настройка интеграции с ClickHouse

Теперь, когда в Postgres есть таблицы и данные, выполним репликацию таблиц в ClickHouse для аналитики. Начнём с нажатия на ClickHouse integration на боковой панели. Затем нажмите Replicate data in ClickHouse.В следующей форме вы можете ввести имя интеграции и выбрать существующий экземпляр ClickHouse для репликации. Если у вас ещё нет экземпляра ClickHouse, его можно создать непосредственно из этой формы.
ВажноПрежде чем продолжить, убедитесь, что выбранный вами сервис ClickHouse имеет статус Running.
Нажмите Далее, чтобы перейти к выбору таблицы. Здесь вам нужно:
  • Выберите базу данных ClickHouse, в которую нужно реплицировать данные.
  • Разверните схему public и выберите таблицы users и events, которые мы создали ранее.
  • Нажмите Replicate data to ClickHouse.
Начнётся процесс репликации, и вы будете перенаправлены на страницу обзора интеграции. Поскольку это первая интеграция, первоначальная настройка инфраструктуры может занять 2–3 минуты. Пока давайте рассмотрим новое расширение pg_clickhouse.

Запросы к ClickHouse из Postgres

Расширение pg_clickhouse позволяет выполнять запросы к данным ClickHouse напрямую из Postgres с использованием стандартного SQL. Это означает, что ваше приложение может использовать Postgres как единый уровень запросов как для транзакционных, так и для аналитических данных. Подробнее см. в полной документации.Включите расширение:
Затем создайте подключение к внешнему серверу ClickHouse. Используйте драйвер http с портом 8443 для защищённых соединений:
Замените <clickhouse_cloud_host> на имя хоста вашего ClickHouse, а <database_name> — на базу данных, выбранную при настройке репликации. Имя хоста можно найти в вашем сервисе ClickHouse, нажав Connect на боковой панели.Теперь сопоставим пользователя Postgres с учётными данными сервиса ClickHouse:
Теперь импортируйте таблицы ClickHouse в схему Postgres:
Замените <database_name> на то же имя базы данных, которое вы использовали при создании сервера.Теперь вы можете видеть все таблицы ClickHouse в своём клиенте Postgres:

Аналитика в действии

Вернитесь на страницу интеграции. Вы должны увидеть, что начальная репликация завершена. Нажмите на название интеграции, чтобы просмотреть подробности.Нажмите на имя сервиса, чтобы открыть консоль ClickHouse и просмотреть реплицированные таблицы.

Сравнение производительности Postgres и ClickHouse

Теперь выполним несколько аналитических запросов и сравним производительность Postgres и ClickHouse. Обратите внимание, что реплицированные таблицы используют соглашение об именовании public_<table_name>.Запрос 1: Самые активные пользователиЭтот запрос находит наиболее активных пользователей с использованием нескольких агрегаций:
Запрос 2: Вовлечённость пользователей по стране и платформеЭтот запрос объединяет события с пользователями и вычисляет метрики вовлечённости:
Сравнение производительности:
Когда использовать ClickHouseДаже на этом наборе данных из 1 млн строк ClickHouse выполняет сложные аналитические запросы с JOIN и несколькими агрегациями в 3–7 раз быстрее. На больших объемах (100M+ строк) разница становится еще заметнее: благодаря столбцовому хранению и векторизованному выполнению ClickHouse может ускорять такие запросы в 10–100 раз.Время выполнения запросов зависит от размера инстанса, сетевой задержки между сервисами, характеристик данных и текущей нагрузки.

Очистка

Чтобы удалить ресурсы, созданные в рамках этого краткого руководства:
  1. Сначала удалите интеграцию ClickPipe из сервиса ClickHouse
  2. Затем удалите инстанс Managed Postgres из Cloud Console
Последнее изменение 27 июля 2026 г.