Схема звездочки - Star schema

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

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

Модель

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

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

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

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

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

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

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

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

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

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

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

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

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

Недостатки

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

Еще один недостаток в том, что целостность данных не обеспечивается должным образом из-за его денормализованного состояния[нужна цитата ]. Одноразовые вставки и обновления могут привести к аномалиям данных, которые нормализованный схемы разработаны, чтобы избежать. Вообще говоря, звездообразные схемы загружаются строго контролируемым образом с помощью пакетной обработки или почти реального времени "тонкой подачи", чтобы компенсировать отсутствие защиты, обеспечиваемой нормализация.

Пример

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

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

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

Каждая таблица измерений имеет первичный ключ Идентификатор столбец, относящийся к одному из столбцов (рассматриваемых как строки в схеме примера) Факт_Продажи трехколоночный (составной) первичный ключ таблицы (Date_Id, Store_Id, Идантификационный номер продукта). Непервичный ключ Проданных единиц Столбец таблицы фактов в этом примере представляет меру или метрику, которые можно использовать в вычислениях и анализе. Столбцы непервичного ключа таблиц измерений представляют дополнительные атрибуты измерений (например, Год из Dim_Date измерение).

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

ВЫБРАТЬ	п.Марка,	S.Страна В КАЧЕСТВЕ Страны,	СУММ(F.Проданных единиц)ИЗ Факт_Продажи FВНУТРЕННИЙ ПРИСОЕДИНИТЬСЯ Dim_Date D    НА (F.Date_Id = D.Идентификатор)ВНУТРЕННИЙ ПРИСОЕДИНИТЬСЯ Dim_Store S   НА (F.Store_Id = S.Идентификатор)ВНУТРЕННИЙ ПРИСОЕДИНИТЬСЯ Dim_Product п НА (F.Идантификационный номер продукта = п.Идентификатор)КУДА D.Год = 1997 И  п.Категория продукта = 'телевидение'ГРУППА К	п.Марка,	S.Страна

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

Рекомендации

  1. ^ Дедич, Н. и Станир К., 2016 г., «Оценка проблем многоязычия в разработке хранилищ данных» на 18-й Международной конференции по корпоративным информационным системам - ICEIS 2016, стр. 196.
  2. ^ Схемы DWH, 2009, архивировано из оригинал 16 июля 2010 г.
  3. ^ ", стр. 708
  4. ^ а б Ральф Кимбалл и Марджи Росс, Набор инструментов хранилища данных: полное руководство по размерному моделированию (второе издание), п. 393

внешняя ссылка