Ответ
Денормализацию БД используют для оптимизации производительности в read-heavy системах, где важна скорость чтения данных, а не их целостность или минимизация дублирования.
Где применяется:
- Аналитика и отчеты (OLAP) — денормализация ускоряет сложные запросы.
- Кэширование — данные объединяются для быстрого доступа.
- NoSQL БД (MongoDB, Cassandra) — часто изначально денормализованы.
- Микросервисы — данные дублируются для независимости сервисов.
Пример:
-- Нормализованная схема (users + orders)
SELECT u.name, o.total
FROM users u
JOIN orders o ON u.id = o.user_id;
-- Денормализованная (все в одной таблице)
SELECT name, total FROM user_orders;
Минусы: аномалии данных, сложность обновлений.