- Часть 1: Начните работу с NVMe Postgres и оцените его производительность
- Часть 2: Откройте возможности Real-time аналитики, интегрировав ее с ClickHouse
- Создадите экземпляр Managed Postgres с производительностью NVMe
- Загрузите 1 миллион тестовых событий и увидите скорость NVMe в действии
- Выполните запросы и оцените низкую задержку
- Реплицируете данные в ClickHouse для Real-time аналитики
- Будете выполнять запросы к ClickHouse напрямую из Postgres с помощью
pg_clickhouse
Часть 1: Начало работы с NVMe Postgres
Создание базы данных
Подключитесь к своей базе данных
psql и подключитесь к своей базе данных. Вы также можете использовать любой клиент, совместимый с Postgres, например DBeaver, или любую библиотеку для приложений.
Оцените производительность NVMe
Выполните запросы к своим данным
Ваш Postgres готовНа этом этапе у вас есть полностью работоспособная высокопроизводительная база данных Postgres, готовая к транзакционным нагрузкам.Перейдите к части 2, чтобы узнать, как нативная интеграция ClickHouse может вывести вашу аналитику на новый уровень.
Часть 2: Добавьте Real-time аналитику с ClickHouse
- Postgres для транзакционных данных вашего приложения (вставки, обновления, точечные выборки)
- ClickHouse для аналитики с задержкой менее секунды на миллиардах строк
Настройка интеграции ClickHouse
ВажноПеред продолжением убедитесь, что выбранный сервис ClickHouse находится в состоянии Running.
- Выберите базу данных ClickHouse, в которую будут реплицироваться данные.
- Разверните схему public и выберите таблицы users и events, которые мы создали ранее.
- Нажмите Replicate data to ClickHouse.
Выполнение запросов к ClickHouse из Postgres
pg_clickhouse позволяет напрямую выполнять запросы к данным ClickHouse из Postgres с помощью стандартного SQL. Это означает, что ваше приложение может использовать Postgres как единый слой запросов как для транзакционных, так и для аналитических данных. Подробности см. в полной документации.
Включите расширение:
http и порт 8443 для защищённых соединений:
<clickhouse_cloud_host> на имя хоста ClickHouse, а <database_name> — на базу данных, выбранную при настройке репликации. Имя хоста можно найти в сервисе ClickHouse, нажав Connect на боковой панели.
Теперь сопоставим пользователя Postgres с учетными данными сервиса ClickHouse:
<database_name> на то же имя базы данных, которое вы использовали при создании сервера.
Теперь в клиенте Postgres вы можете увидеть все таблицы ClickHouse:
Посмотрите аналитику в работе
Сравнение производительности Postgres и ClickHouse
public_<table_name>.
Запрос 1: Самые активные пользователи
Этот запрос определяет самых активных пользователей с помощью нескольких агрегаций:
| Query | Postgres (NVMe) | ClickHouse (via pg_clickhouse) | Speedup |
|---|---|---|---|
| Топ пользователей (5 агрегаций) | 555 ms | 164 ms | 3.4x |
| Вовлечённость пользователей (JOIN + агрегации) | 1,246 ms | 170 ms | 7.3x |
Очистка
- Сначала удалите интеграцию ClickPipe в сервисе ClickHouse
- Затем удалите экземпляр Managed Postgres в Cloud Console