Tracker Lab
Tracker Lab
@tracker_lab

ClickHouse или PostgreSQL для трекера: где база начнёт тормозить раньше

ClickHouse или PostgreSQL для трекера: где база начнёт тормозить раньше

Если трекер живёт на сыром клике, показах, postback и логах по каждому переходу, выбор БД решает больше, чем фронт. ClickHouse тянет потоковые вставки и тяжёлые отчёты: агрегаты, срезы по GEO/UA, воронки, дедупликацию по событиям. PostgreSQL удобнее там, где важны транзакции, связи между сущностями и частые точечные UPDATE/DELETE.

Схема «всё в одной базе» обычно ломается на смешанной нагрузке. Сначала начинают проседать отчёты, потом блокируются записи, а дальше любой reindex или vacuum превращается в окно деградации. Для трекера это критично: конверсия может прийти с задержкой, а UI уже показывает пустые или неполные данные.

Практика рабочая:
— ClickHouse хранит события, логи, конверсии, сырые постбэки.
— PostgreSQL держит пользователей, кампании, офферы, правила, биллинг.
— между ними нужен явный слой синхронизации, а не ручные скрипты «по случаю».
— если отчёт строится по миллионам строк, не тащите его в OLTP-схему.

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

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

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

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

start

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

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

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