Рекламная платформа «АналитикПро» обратилась к инженерам itfresh.ru с проблемой масштабирования. Система обрабатывала показы, клики и конверсии интернет-рекламы. Ежедневный объём составлял 3 миллиарда событий — около 35 000 записей в секунду в пиковые часы.
Существующее решение на PostgreSQL 15 с таблицами, партицированными по дням, работало приемлемо до 500 миллионов записей в день. Когда объём вырос в шесть раз, проблемы стали критическими:
- Аналитические запросы по данным за неделю выполнялись 40-120 секунд — клиенты платформы не готовы ждать.
- Ежедневная очистка старых партиций создавала блокировки и замедляла вставку.
- Дисковое пространство росло на 150 ГБ в день — сжатие TOAST не справлялось.
- Elasticsearch, используемый параллельно для поисковой аналитики, потреблял 96 ГБ RAM на кластере из трёх нод и всё равно тормозил на агрегациях.
Нам требовалась СУБД, способная принимать десятки тысяч записей в секунду и отвечать на аналитические запросы за миллисекунды, а не минуты.
Оставить комментарий