Перейти к основному содержанию
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 и диапазоном дат:
Объедините события с пользователями:
Ваш Postgres готовНа этом этапе у вас есть полностью работоспособная высокопроизводительная база данных Postgres, готовая к транзакционным нагрузкам.Перейдите к части 2, чтобы узнать, как нативная интеграция ClickHouse может вывести вашу аналитику на новый уровень.

Часть 2: Добавьте Real-time аналитику с ClickHouse

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

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

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

Выполнение запросов к ClickHouse из Postgres

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

Посмотрите аналитику в работе

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

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

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

Очистка

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