Схема Снежинка (Snowflake scheme)

Разделы: Источники данных

Loginom: Хранилище данных

Схема «Снежинка» — вид логической структуры реляционного хранилища данных, которая использует два типа таблиц: единственную таблицу фактов и несколько таблиц измерений. Обычно на схеме таблицу фактов изображают в центре, а таблицы измерений — в виде расходящихся лучей.

Основной особенностью схемы «Снежинка» является возможность хранения иерархических измерений, кода одно или несколько измерений связаны с иерархически подчинёнными измерениями. Пример иерархии измерений: «Группа товаров» и «Товар»: каждому значению измерения «Группа товаров» будет соответствовать отдельная таблица товаров данной группы.

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

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

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

Недостатками схемы «Снежинка» по сравнению со схемой «Звезда» являются:

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

К преимуществам схемы «Снежинка» можно отнести:

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