Понимание разницы между таблицами фактов и измерений в контексте схемы «звезда» и хранилища данных

Введение

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

В этой статье мы рассмотрим широко используемый в Data Engineering принцип, известный как схема-звезда, и углубимся в два его основных компонента: факт и измерение. Таблицы. Обсуждая их различия и предоставляя сквозной пример, мы стремимся продемонстрировать, как эти концепции используются в реальных проектах.

Коротко о звездной схеме

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

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

Таблицы фактов и измерений

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

С другой стороны, таблицы измерений содержат описательную информацию для всех связанных полей, включенных в записи таблицы фактов. Несколько распространенных примеров таблиц измерений — это физические объекты, такие как таблицы Customer и Product или даже таблицы расписаний. В целом ожидается, что таблицы параметров будут намного меньше по размеру по сравнению с таблицами фактов.

Прямой подход к отличию таблиц фактов от таблиц измерений состоит в том, чтобы проверить, относится ли таблица к существительному, например к физическому объекту или человеку. Например, продукт или клиент могут существовать независимо от какого-либо конкретного бизнес-события. Таким образом, таблицы измерений представляют существительные, поскольку они представляют что-то, что либо совершает действие, либо подвергается действию (например, физический магазин, покупатель или продукт). С другой стороны, глагол обычно соответствует таблице фактов, где каждая запись соответствует событию, в котором участвуют записи из таблиц измерений. Например, заказ включает клиента и продукт (или, возможно, больше). Акт размещения заказа совершается конкретным покупателем на конкретный товар.

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

Таблицы измерений — выделены синим цветом — соответствуют таблицам, содержащим информацию о Клиентах, Магазинах, Продуктах и Датах. . Это существительные бизнес-кейса.

Таблица фактов, показанная оранжевым цветом, содержит все первичные ключи (PK) таблиц измерений, которые являются внешними ключами (FK) в таблице фактов, а также два количественных поля, а именно quantity и amount.

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

Преимущества звездной схемы

Из-за денормализованного характера модели Star Schema имеет тенденцию быть быстрее с точки зрения производительности. В то же время схема «звезда», как правило, довольно проста, и поэтому общую структуру легче разработать. Кроме того, он гораздо более удобочитаем, хотя и не так прост в сопровождении — подробнее об этом в следующем разделе.

Структура звездообразной схемы облегчает агрегацию данных, при этом таблица фактов обычно присоединяется только к одному уровню таблиц измерений. Эта простота снижает сложность запросов для инженеров по данным и ученых, а также может упростить процесс тестирования. Кроме того, эффективная производительность запросов схемы Star помогает свести к минимуму риск неблагоприятного воздействия на другие продукты OLAP.

Когда (не) использовать звездную схему

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

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

Несмотря на то, что схема Star проста в разработке и реализации из-за простых отношений между таблицами, ее поддержка может представлять проблему из-за вышеупомянутых проблем с целостностью данных. При приеме новых данных и возможном создании новых таблиц проверка и сохранение целостности данных в хранилище данных может стать сложной задачей.

Последние мысли

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

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

Стать участником и читать все истории на Medium. Ваш членский взнос напрямую поддерживает меня и других писателей, которых вы читаете. Вы также получите полный доступ ко всем историям на Medium.



Статьи по теме, которые вам также могут понравиться