Канал "Лисон ИТ" представляет статью о де-нормализации баз данных.
Де-нормализация применяется для повышения производительности нормализованных баз данных.
Цель де-нормализации - поместить избыточные данные в таблицы, где они принесут максимальную пользу.
Де-нормализация снижает время исполнения запросов и упрощает доступ к данным.
Важно различать де-нормализацию нормализованной базы данных и ошибки проектирования.
Пример нормализованной модели для простейшей системы.
Таблица "юзер аккаунт" хранит данные о пользователях.
Таблица "клайн" содержит базовые сведения о клиентах.
Таблица "продакт" содержит список товаров.
Таблица "таск" содержит задачи и их данные.
Таблица "кол" хранит данные о заказах и встречах.
Таблица "митинг" хранит данные о встречах и их результатах.
Таблица "продакт офорд" хранит список предложенных товаров.
Таблица "продакт солт" хранит список проданных товаров.
Таблица "супплай ордер" хранит информацию о размещенных заказах.
Таблица "райтов" хранит перечень списанных товаров.
Хранение исторических данных: сохранение значений на момент создания записи.
Повышение производительности запросов: добавление полей для часто запрашиваемых данных.
Ускорение создания отчетов: создание отчетов по живым данным.
Предварительные вычисления часто запрашиваемых значений.
Увеличение места на диске из-за дублирования данных.
Аномалии данных: необходимость корректного изменения копий данных.
Документация: необходимость документировать изменения для будущих изменений.
Замедление других операций: возможное замедление вставки, модификации и удаления данных.
Больше кода: необходимость добавления кода для оптимизации запросов.
Применение правил де-нормализации к нормализованной модели.
Добавление новых атрибутов для хранения значений на момент создания задачи.
Улучшение функциональности и производительности базы данных.
Пример изменения таблиц для хранения актуальных цен и статистики.
Денормализация позволяет вычислять данные из других таблиц.
В таблице хранятся данные о текущих задачах, выполненных задачах, встречах и звонках по каждому клиенту.
Изменения в таблицах пересчитываются только для текущего года, что экономит время и ресурсы.
Денормализация может быть мощным подходом, но не всегда необходима.
Перед использованием денормализации нужно убедиться в необходимости.
Важно анализировать текущую производительность системы и документировать изменения.
Денормализация может применяться после запуска системы, но требует внимательного отслеживания и документирования.
В компании автора оптимизируют производительность биллинговой системы.
Создаются таблицы с промежуточными итогами для ускорения отчетов.
Актуальность денормализованных данных поддерживается вручную или с помощью материализованных представлений.
В биллинговой системе есть система привилегий для пользователей и операторов.
Права выдаются несколькими способами, что замедляет обращения к сущностям.
Хранится агрегированный список прав, который обновляется при изменениях в системе.
Денормализация хранилища — одна из мер для ускорения чтения данных.
Промежуточные результаты могут жить дольше, чем пользовательские сессии.
Денормализация может быть полезна для ускорения чтения данных.
Видео завершается благодарностью за просмотр и призывом поставить лайк и подписаться на канал.
Возможность поддержать канал через переводы на Юмани или подписку на Бусти.
В телеграм-канале хранятся аудиоверсии статей и мемчики.