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