Что такое денормализация? Зачем она нужна и какие у неё минусы?

Денормализация намеренно дублирует или заранее вычисляет данные ради быстрого чтения. Она уменьшает стоимость joins и агрегаций, но усложняет обновления и согласованность.

Короткий ответ

Что ответить на собеседовании

Денормализация намеренно дублирует или заранее вычисляет данные ради быстрого чтения. Она уменьшает стоимость joins и агрегаций, но усложняет обновления и согласованность.

Подробный разбор

Ответ с пояснениями

Денормализация намеренно дублирует или заранее вычисляет данные ради быстрого чтения. Она уменьшает стоимость joins и агрегаций, но усложняет обновления и согласованность.

Примеры — сохранённый итог заказа, счётчик комментариев или отдельная read-модель. Нужно определить источник истины, механизм обновления и допустимое отставание. Возможны рассинхронизация, дополнительное место и дорогой пересчёт. Денормализовать стоит измеренное узкое место, а не каждую таблицу заранее.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее