← к блогуОбсудить проект
// бэкенд
Схема БД, которую не стыдно показать через год
Хорошую схему БД видно через год: легко ли добавить отчёт, не разваливается ли всё при росте данных. Красота диаграммы тут дело десятое.
Принципы, которых держусь
- Нормализую до 3НФ, денормализую осознанно и только под измеренную нагрузку.
- Индексы — под реальные запросы, а не «на всякий случай».
- Тяжёлую аналитику выношу в materialized views и обновляю по расписанию.
CREATE MATERIALIZED VIEW funnel_daily AS
SELECT date_trunc('day', created_at) AS day,
count(*) FILTER (WHERE status = 'paid') AS paid
FROM leads GROUP BY 1;Дашборд тимлида, который раньше собирался руками за час, стал открываться за пять минут — потому что тяжёлое посчитано заранее.
Есть похожая задача?
Расскажите — вернусь с оценкой в тот же день.


