Измерение (хранилище данных) - Dimension (data warehouse)

Таблица измерений в кубе OLAP со звездообразной схемой

А измерение это структура, которая классифицирует факты и меры чтобы пользователи могли отвечать на вопросы бизнеса. Обычно используемые параметры - это люди, продукты, место и время.[1][2] (Примечание: люди и время иногда не моделируются как измерения.)

В хранилище данных, измерения предоставляют структурированную маркировочную информацию для неупорядоченных числовых показателей. Размерность набор данных состоит из отдельных, неперекрывающихся элементы данных. У измерений есть три основных функции: фильтрация, группировка и маркировка.

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

Размерный элемент данных похож на категориальная переменная в статистике.

Обычно измерения в хранилище данных организованы внутри в одну или несколько иерархий. «Дата» - это обычное измерение с несколькими возможными иерархиями:

  • «Дни (сгруппированы в) Месяцы (которые сгруппированы в) Годы»,
  • «Дни (сгруппированы в) Недели (которые сгруппированы в) Годы»
  • «Дни (сгруппированы в) Месяцы (которые сгруппированы в) Кварталы (которые сгруппированы в) Годы»
  • и т.п.

Типы

Согласованный размер

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

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

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

Размер мусора

Измерение нежелательной почты - это удобная группа флагов и индикаторов, как правило, с низкой мощностью. При создании абстрактного измерения эти флаги и индикаторы удаляются из таблицы фактов, а затем помещаются в полезную структуру измерений.[4]Нежелательное измерение - это таблица измерений, состоящая из атрибутов, которые не принадлежат ни таблице фактов, ни какой-либо из существующих таблиц измерений. Эти атрибуты обычно имеют текст или различные флаги, например не общие комментарии или просто индикаторы да / нет или истина / ложь. Эти виды атрибутов обычно остаются, когда все очевидные измерения в бизнес-процессе определены, и поэтому разработчик сталкивается с проблемой, где разместить эти атрибуты, которые не принадлежат другим измерениям.

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

Решение этой проблемы состоит в том, чтобы идентифицировать все атрибуты и затем помещать их в одно или несколько ненужных измерений. Одно измерение нежелательной почты может содержать несколько индикаторов истина / ложь или да / нет, которые не коррелируют друг с другом, поэтому было бы удобно преобразовать индикаторы в более описывающий атрибут. Примером может служить индикатор того, прибыла ли посылка: вместо того, чтобы указывать это как «да» или «нет», она будет преобразована в «прибыла» или «ожидает» в измерении нежелательной почты. Разработчик может выбрать создание таблицы измерений так, чтобы в ней содержались все индикаторы, встречающиеся с каждым другим индикатором, чтобы охватывались все комбинации. Это устанавливает фиксированный размер для самой таблицы, который будет 2Икс ряды, где Икс количество индикаторов. Это решение подходит в ситуациях, когда разработчик ожидает столкнуться с множеством различных комбинаций и где возможные комбинации ограничены до приемлемого уровня. В ситуации, когда количество индикаторов велико, что создает очень большую таблицу или когда разработчик ожидает встретить только несколько возможных комбинаций, было бы более целесообразно создавать каждую строку в измерении нежелательной почты по мере появления новых комбинаций. . Чтобы ограничить размер таблиц, несколько измерений нежелательной почты могут быть уместны в других ситуациях в зависимости от корреляции между различными индикаторами.

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

Вырожденное измерение

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

Ролевое измерение

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

Размер аутригера

Обычно таблицы измерений не ссылаются на другие измерения через внешние ключи. Когда это происходит, указанный размер называется размер аутригераИсходные измерения следует рассматривать как антипаттерн хранилища данных: считается, что лучше использовать некоторые таблицы фактов, которые связывают эти два измерения.[7]

Сжатое измерение

Согласованные размеры называются усохшее измерение когда он включает подмножество строк и / или столбцов исходного измерения.[8]

Размер календарной даты

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

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

Вместо этого время обычно лучше всего представляется в виде отметки времени в таблица фактов.[9]

Использование терминов представления ISO

При ссылке на данные из метаданные реестр, такой как ISO / IEC 11179, условия представительства такие как «Индикатор» (логическое значение «истина / ложь»), «Код» (набор неперекрывающихся перечислимых значений) обычно используются в качестве измерений. Например, используя Национальная модель обмена информацией (NIEM) имя элемента данных будет «PersonGenderCode», а перечисленные значения могут быть «мужской», «женский» и «неизвестный».

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

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

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

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

Атрибуты измерения должны быть:

  • Verbose (метки, состоящие из полных слов)
  • Описательный
  • Завершено (без пропущенных значений)
  • Дискретно оцениваемый (имеющий только одно значение на строку таблицы измерений)
  • Гарантированное качество (без орфографических ошибок или недопустимых значений)

Строки таблицы измерений однозначно идентифицируются одним ключевым полем. Рекомендуется, чтобы ключевое поле было простым целым числом, поскольку значение ключа не имеет смысла и используется только для объединения полей между таблицами фактов и измерений. В таблицах измерений часто используются первичные ключи, которые также являются суррогатными ключами. Суррогатные ключи часто генерируются автоматически (например, Sybase или SQL Server «столбец идентификации», серийный номер PostgreSQL или Informix, Oracle SEQUENCE или столбец, определенный с помощью AUTO_INCREMENT в MySQL).

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

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

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

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

Согласованные измерения важны для корпоративного характера систем DW / BI, поскольку они способствуют:

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

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

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

Общие шаблоны

Дата и время[10]

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

Если дата и время суток находятся в одном измерении, это может легко привести к огромному измерению с миллионами строк. Если требуется большое количество деталей, обычно рекомендуется разделить дату и время на два или более отдельных измерения. Измерение времени с долей секунд в день будет иметь только 86400 строк. Более или менее детальное зерно для измерений даты / времени может быть выбрано в зависимости от потребностей. Например, измерения даты могут быть с точностью до года, квартала, месяца или дня, а измерения времени - с точностью до часов, минут или секунд.

Как показывает практика, измерение времени суток следует создавать только в том случае, если необходимы иерархические группировки или есть содержательные текстовые описания для периодов времени в течение дня (например, «вечерняя смена» или «первая смена»).

Если строки в таблице фактов поступают из нескольких часовых поясов, может быть полезно хранить дату и время как по местному, так и по стандартному времени. Это можно сделать, используя два измерения для каждого необходимого измерения даты / времени - одно для местного времени, а другое для стандартного времени. Сохранение даты / времени как в местном, так и в стандартном времени позволит проанализировать, когда факты создаются в локальных условиях, а также в глобальных. Выбранное стандартное время может быть глобальным стандартным временем (например, универсальное глобальное время ), это может быть местное время головного офиса компании или любой другой часовой пояс, который имеет смысл использовать.

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

использованная литература

  1. ^ "Руководство по хранилищам данных Oracle ", Oracle Corporation, получено 9 июня 2014 г.
  2. ^ Определение: Размер "Search Data Management, TechTarget, получено 9 июня 2014 г.
  3. ^ Ральф Кимбалл, Марджи Росс, Набор инструментов хранилища данных: Полное руководство по пространственному моделированию, второе издание, Wiley Computer Publishing, 2002. ISBN  0471-20024-7, Страницы 82-87, 394
  4. ^ Ральф Кимбалл, Марджи Росс, Набор инструментов хранилища данных: Полное руководство по трехмерному моделированию, второе издание, Wiley Computer Publishing, 2002. ISBN  0471-20024-7, Страницы 202, 405
  5. ^ Кимбалл, Ральф, и другие. (2008): Инструментарий жизненного цикла хранилища данных, второе издание, Wiley Publishing Inc., Индианаполис, Индиана. Страницы 263-265
  6. ^ Ральф Кимбалл, Марджи Росс, Набор инструментов хранилища данных: Полное руководство по пространственному моделированию, второе издание, Wiley Computer Publishing, 2002. ISBN  0471-20024-7, Страницы 50, 398
  7. ^ Ральф Кимбалл; Марджи Росс (2013). Инструментарий хранилища данных, третье издание. Вайли. п. 50. ISBN  978-1-118-53080-1.
  8. ^ Ральф Кимбалл; Марджи Росс (2013). Инструментарий хранилища данных, третье издание. Вайли. п. 51. ISBN  978-1-118-53080-1.
  9. ^ Ральф Кимбалл; Марджи Росс (2013). Инструментарий хранилища данных, третье издание. Вайли. п. 48. ISBN  978-1-118-53080-1.
  10. ^ Ральф Кимбалл, Набор инструментов хранилища данных, второе издание, Wiley Publishing, Inc., 2008 г. ISBN  978-0-470-14977-5, Страницы 253-256