Tracker Lab
Tracker Lab
@tracker_lab

ClickHouse vs PostgreSQL в трекере: где ломается стек и как не собрать гибридный зоопарк

ClickHouse vs PostgreSQL в трекере: где ломается стек и как не собрать гибридный зоопарк

Если трекер пишет много событий, а читает их редко, ClickHouse закрывает историю лучше: быстрые агрегации, дешёвые группировки, нормальная работа на больших объёмах логов и конверсий. Но у него слабее точечные обновления, сложнее транзакционная логика и нельзя бездумно строить на нём весь control plane.

PostgreSQL удобнее там, где важны связи, ограничения, атомарные апдейты и живые настройки: кампании, юзеры, права, маппинги, очереди, state machine для конверсий. Для этих сущностей нужен предсказуемый CRUD, индексы по точным полям и нормальная изоляция, иначе начинаются гонки и дубли.

Хорошая схема обычно не «или-или», а разделение ролей: PostgreSQL держит конфиг и оперативные сущности, ClickHouse — сырой event stream, отчёты, ретеншн, postback-историю, дедуп по аналитическим срезам. Между ними нужен явный контракт: schema событий, idempotency key, TTL на сырые данные, правила backfill.

Если пытаешься запихнуть всё в одну базу, смотри на симптоматику: отчёты тормозят из-за тяжёлых JOIN, конфиг трекера начинает зависеть от аналитики, а миграции блокируют запись. В таком месте обычно выигрывает не «более мощная БД», а разграничение write path и analytics path.

Выбирай стек так: PostgreSQL — для управления, ClickHouse — для массового чтения и истории. Один отвечает за целостность, второй — за скорость анализа.
Этот пост опубликован в Telegram-канале Tracker Lab. Подписаться можно по ссылке: @tracker_lab.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.