Схема снежинка

Материал из Энциклопедия интернет-маркетинга MarketWiki

Схема «снежинка» (англ. Snowflake Schema) - модель организации данных в хранилище данных, представляющая собой развитие схемы «звезда». В ней таблицы измерений дополнительно разделяются на связанные между собой подтаблицы, что уменьшает дублирование данных и приводит структуру к более высокой степени нормализации.

Схема «снежинка» применяется в системах бизнес-аналитики, корпоративных хранилищах данных, BI-платформах и аналитических проектах, где важны целостность данных, эффективное использование дискового пространства и возможность работы со сложными иерархиями.

Коротко: схема «снежинка» - это модель хранения аналитических данных, в которой таблицы измерений разделяются на несколько взаимосвязанных таблиц, уменьшая дублирование информации по сравнению со схемой «звезда».

Что представляет собой схема «снежинка»

[править]

При использовании схемы «звезда» большинство описательной информации хранится непосредственно в таблицах измерений. Такой подход делает структуру простой и удобной, однако некоторые сведения могут многократно повторяться.

Например, если в таблице товаров для каждой позиции хранится информация о производителе, категории и бренде, одни и те же значения будут записаны множество раз.

Схема «снежинка» решает эту проблему путём разделения измерений на отдельные связанные таблицы. В результате повторяющиеся данные сохраняются только один раз, а остальные таблицы содержат ссылки на них.

Почему схема называется «снежинка»

[править]

Если представить структуру графически, центральная таблица фактов остаётся в центре, однако таблицы измерений начинают разветвляться на дополнительные уровни. Получающаяся схема напоминает снежинку с многочисленными лучами и ответвлениями. Именно эта форма дала название модели.

Структура

[править]

Как и схема «звезда», модель включает два основных типа таблиц.

Таблица фактов

[править]

Содержит количественные показатели, подлежащие анализу.

Например:

  • Количество продаж
  • Сумма заказов
  • Количество кликов
  • Расходы на рекламу
  • Прибыль
  • Конверсии

Таблицы измерений

[править]

В отличие от схемы «звезда», измерения могут состоять из нескольких взаимосвязанных таблиц.

Например, вместо одной таблицы товаров структура может включать:

  • Товар
  • Бренд
  • Производитель
  • Категория
  • Подкатегория

Каждая таблица хранит только собственные данные и связывается с другими посредством идентификаторов.

Пример

[править]

Предположим, компания анализирует продажи интернет-магазина.

В схеме «звезда» сведения о категории товара могут повторяться в каждой записи измерения «Товар».

В схеме «снежинка»:

  • Таблица товаров содержит только сведения о конкретных товарах
  • Таблица категорий хранит перечень категорий
  • Таблица производителей содержит сведения о производителях
  • Таблица брендов - информацию о брендах

Все таблицы связываются между собой. Такой подход уменьшает объём повторяющихся данных и облегчает их сопровождение.

Значение для интернет-маркетинга

[править]

Хотя большинство маркетологов напрямую не работают со структурой хранилищ данных, результаты их аналитики во многом зависят от используемой модели.

Схема «снежинка» применяется при построении корпоративных аналитических систем, объединяющих данные из различных источников:

На основе таких данных строятся отчёты по:

  • ROMI
  • Customer Lifetime Value
  • Эффективности рекламных каналов
  • Продажам
  • Сегментам клиентов
  • Повторным покупкам
  • Товарным категориям

Чем качественнее организованы данные, тем проще получать достоверную аналитику.

Преимущества

[править]

Схема «снежинка» обладает рядом достоинств.

Она позволяет:

  • Уменьшить дублирование данных
  • Обеспечить более высокую степень нормализации
  • Повысить целостность информации
  • Упростить обновление справочников
  • Эффективнее использовать дисковое пространство
  • Работать со сложными иерархиями объектов

По этим причинам схема особенно востребована в крупных корпоративных системах.

Ограничения

[править]

По сравнению со схемой «звезда» модель имеет и недостатки.

К ним относятся:

  • Более сложная структура
  • Большее количество соединений таблиц при выполнении запросов
  • Более высокие требования к квалификации аналитиков и разработчиков
  • Потенциальное снижение производительности сложных аналитических запросов

Поэтому при проектировании хранилища данных всегда приходится искать баланс между простотой и степенью нормализации.

Отличие от схемы «звезда»

[править]

Главное различие заключается в организации таблиц измерений.

Схема «звезда» Схема «снежинка»
Простые измерения Нормализованные измерения
Минимальное количество соединений Больше связей между таблицами
Более высокая скорость большинства аналитических запросов Более эффективное хранение данных
Проще воспринимается пользователями Лучше подходит для сложных справочников и иерархий

На практике выбор между двумя моделями определяется особенностями конкретного проекта. Во многих современных хранилищах данных используются комбинированные подходы, сочетающие элементы обеих схем.

Когда выбирают схему «снежинка»

[править]

Её использование оправдано, если:

  • Объём справочных данных очень велик
  • Необходимо минимизировать дублирование информации
  • Используются сложные классификаторы и иерархии
  • Большое значение имеет поддержание единой структуры справочников
  • Аналитическая система обслуживает множество подразделений компании

Для небольших аналитических проектов чаще оказывается достаточно схемы «звезда».

Распространённые заблуждения

[править]

«Схема "снежинка" всегда лучше схемы "звезда"»

[править]

Нет. Каждая модель имеет свои преимущества и применяется в зависимости от требований проекта.

«Маркетологу не нужно знать такие модели»

[править]

Не обязательно разбираться в деталях проектирования баз данных, однако понимание принципов организации аналитической информации помогает эффективнее работать с BI-системами, отчётностью и корпоративными хранилищами данных.

«Схема "снежинка" используется редко»

[править]

Нет. Она широко применяется в крупных корпоративных системах, где важно избежать избыточного хранения данных и обеспечить их согласованность.

Часто задаваемые вопросы

[править]

Что быстрее - схема «звезда» или схема «снежинка»?

[править]

Во многих случаях схема «звезда» обеспечивает более быстрое выполнение аналитических запросов благодаря меньшему количеству соединений таблиц.

Когда выбирают схему «снежинка»?

[править]

Обычно её используют при работе со сложными справочниками, большими объёмами данных и высокой степенью нормализации.

Можно ли сочетать обе модели?

[править]

Да. Во многих современных корпоративных хранилищах применяются гибридные схемы, объединяющие преимущества обоих подходов.

Связанные термины

[править]