Схема «звезда»

Схема хранилища данных

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

Схема «звезда» получила свое название от сходства физической модели [3] с формой звезды с таблицей фактов в центре и окружающими ее таблицами измерений, представляющими вершины звезды.

Модель

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

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

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

Таблицы фактов записывают измерения или метрики для определенного события. Таблицы фактов обычно состоят из числовых значений и внешних ключей к размерным данным, где хранится описательная информация. [4] Таблицы фактов разработаны для низкого уровня однородной детализации (называемого «зернистостью» или « зерном »), что означает, что факты могут записывать события на очень атомарном уровне. Это может привести к накоплению большого количества записей в таблице фактов с течением времени. Таблицы фактов определяются как один из трех типов:

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

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

Таблицы размеров

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

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

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

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

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

  • Более простые запросы — логика соединения по схеме «звезда» обычно проще, чем логика соединения, необходимая для извлечения данных из высоконормализованной транзакционной схемы.
  • Упрощенная логика бизнес-отчетности — по сравнению с высоконормализованными схемами схема «звезда» упрощает общую логику бизнес-отчетности, такую ​​как отчетность за период и по состоянию на текущий момент.
  • Повышение производительности запросов — схемы «звезда» могут обеспечить повышение производительности для приложений отчетности, доступных только для чтения, по сравнению с высоконормализованными схемами .
  • Быстрые агрегации — более простые запросы к схеме «звезда» могут привести к повышению производительности операций агрегации.
  • Загрузка кубов – схемы типа «звезда» используются всеми системами OLAP для эффективного построения собственных кубов OLAP ; по сути, большинство основных систем OLAP предоставляют режим работы ROLAP , который может использовать схему типа «звезда» непосредственно в качестве источника, не создавая собственную структуру куба.

Пример

Схема «звезда», используемая в примере запроса

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

Fact_Salesэто таблица фактов и есть три таблицы измерений Dim_Date, Dim_Storeи Dim_Product.

Каждая таблица измерений имеет первичный ключ в своем Idстолбце, относящийся к одному из столбцов (рассматриваемых как строки в схеме примера) Fact_Salesпервичного ключа из трех столбцов (составного) таблицы ( Date_Id, Store_Id, Product_Id). Столбец непервичного ключа Units_Soldтаблицы фактов в этом примере представляет собой меру или метрику, которая может использоваться в вычислениях и анализе. Столбцы непервичного ключа таблиц измерений представляют собой дополнительные атрибуты измерений (например, Yearизмерения Dim_Date).

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

ВЫБЕРИТЕ P. Бренд , S. Страна AS Страны , СУММА ( F. Проданные_единицы )  FROM Fact_Sales F INNER JOIN Dim_Date D ON ( F . Date_Id = D . Id ) INNER JOIN Dim_Store S ON ( F . Store_Id = S . Id ) INNER JOIN Dim_Product P ON ( F . Product_Id = P . Id )                       ГДЕ D. Год = 1997 И P. Категория_продукта = ' тв '       ГРУППИРОВКА ПО P. Бренд , S. Страна 

Смотрите также

Ссылки

  1. ^ Дедич, Н. и Станиер К., 2016., «Оценка проблем многоязычия при разработке хранилищ данных» на 18-й Международной конференции по корпоративным информационным системам — ICEIS 2016, стр. 196.
  2. ^ DWH Schemas, 2009, архивировано из оригинала 16 июля 2010 г.
  3. ^ CJ Date, «Введение в системы баз данных (восьмое издание)», стр. 708
  4. ^ Ральф Кимбалл и Марджи Росс, Набор инструментов для хранилища данных: Полное руководство по многомерному моделированию (второе издание) , стр. 393
  • Звезды: Язык шаблонов для оптимизированной схемы запросов
  • Схема созвездия фактов
Получено с "https://en.wikipedia.org/w/index.php?title=Star_schema&oldid=1230715851"