Измерение (хранилище данных)

Измерение — это структура, которая классифицирует факты и меры , чтобы пользователи могли отвечать на бизнес-вопросы. Обычно используемые измерения — это люди, продукты, место и время. [1] [2] (Примечание: люди и время иногда не моделируются как измерения.)
В хранилище данных измерения предоставляют структурированную информацию о маркировке неупорядоченных числовых мер. Измерение – это набор данных, состоящий из отдельных непересекающихся элементов данных . Основные функции измерений тройные: обеспечивать фильтрацию, группировку и маркировку.
Эти функции часто описываются как « нарезка и нарезка кубиков ». Типичный пример хранилища данных включает продажи в качестве меры, а клиент и продукт — в качестве измерений. При каждой продаже клиент покупает продукт. Данные можно разделить на части, удалив всех клиентов, кроме исследуемой группы, а затем разделить на части, сгруппировав по продуктам.
Элемент размерных данных аналогичен категориальной переменной в статистике.
Обычно измерения в хранилище данных организованы внутри одной или нескольких иерархий. «Дата» — это общее измерение с несколькими возможными иерархиями:
- «Дни (сгруппированы в) Месяцы (которые сгруппированы в) Годы»,
- «Дни (сгруппированы в) Недели (которые сгруппированы в) Годы»
- «Дни (сгруппированы в) Месяцы (которые сгруппированы в) Кварталы (которые сгруппированы в) Годы»
- и т. д.
Типы [ править ]
Медленно меняющиеся размеры [ править ]
Медленно меняющееся измерение — это набор атрибутов данных, которые изменяются медленно в течение определенного периода времени, а не меняются регулярно, например адрес или имя. Эти атрибуты могут меняться с течением времени, и они объединяются в медленно меняющееся измерение. Эти размеры можно разделить на типы: [3]
- Тип 0 (Сохранить исходный) : атрибуты никогда не изменяются. Никакой истории.
- Тип 1 (Перезапись) : старые значения заменяются новыми значениями атрибута. Никакой истории.
- Тип 2 (Добавить новую строку) : создается новая строка либо с датой начала/окончания, либо с версией для нового значения. Это создает историю.
- Тип 3 (Добавить новый атрибут) : для нового значения создается новый столбец. История ограничена количеством столбцов, предназначенных для хранения исторических данных.
- Тип 4 (Добавить таблицу истории) : в одной таблице сохраняется текущее значение, а история сохраняется во второй таблице.
- Тип 5 (комбинированный подход 1 + 4) : комбинация типа 1 и типа 4. История создается с помощью второй таблицы истории.
- Тип 6 (комбинированный подход 1 + 2 + 3) : комбинация типа 1, типа 2 и типа 3. История создается с помощью отдельных строк и атрибутов.
- Тип 7 (гибридный подход) : используются как суррогатный, так и естественный ключ. [4]
Соответствующий размер [ править ]
Соответствующее измерение — это набор атрибутов данных, на которые физически ссылаются в нескольких таблицах базы данных с использованием одного и того же значения ключа для ссылки на одну и ту же структуру, атрибуты, значения домена, определения и концепции. Конформное измерение затрагивает многие факты.
Размеры считаются согласованными, если они либо абсолютно одинаковы (включая ключи), либо одно из них является подмножеством другого. Самое главное, что заголовки строк, созданные в двух разных наборах ответов из одного и того же согласованного измерения, должны идеально совпадать».
Соответствующие измерения — это либо идентичные, либо строгие математические подмножества наиболее детализированных и детализированных измерений. Таблицы измерений не соответствуют требованиям, если атрибуты помечены по-разному или содержат разные значения. Соответствующие размеры выпускаются в нескольких вариантах. На самом базовом уровне согласованные измерения означают одно и то же для каждой возможной таблицы фактов, к которой они присоединены. Таблица измерения даты, связанная с фактами продаж, идентична измерению даты, связанному с фактами запасов. [5]
Мусорное измерение [ править ]
Мусорное измерение — это удобная группа флагов и индикаторов, обычно малой мощности. При создании абстрактного измерения эти флаги и индикаторы удаляются из таблицы фактов, помещая их в полезную структуру измерений. [6] Ненужное измерение — это таблица измерений, состоящая из атрибутов, которые не принадлежат ни таблице фактов, ни какой-либо из существующих таблиц измерений. Эти атрибуты обычно представляют собой текст или различные флаги, например, необобщенные комментарии или просто индикаторы «да/нет» или «истина/ложь». Атрибуты такого рода обычно сохраняются, когда все очевидные измерения бизнес-процесса идентифицированы, и, таким образом, перед проектировщиком стоит задача: куда поместить эти атрибуты, которые не принадлежат другим измерениям.
Одним из решений является создание нового измерения для каждого из оставшихся атрибутов, но из-за их природы может потребоваться создание огромного количества новых измерений, что приведет к созданию таблицы фактов с очень большим количеством внешних ключей. Разработчик также может решить оставить остальные атрибуты в таблице фактов, но это может сделать длину строки таблицы неоправданно большой, если, например, атрибут представляет собой длинную текстовую строку.
Решение этой проблемы состоит в том, чтобы идентифицировать все атрибуты, а затем поместить их в одно или несколько ненужных измерений. Одно ненужное измерение может содержать несколько индикаторов «истина/ложь» или «да/нет», которые не коррелируют друг с другом, поэтому было бы удобно преобразовать индикаторы в более описывающий атрибут. Примером может служить индикатор того, прибыл ли пакет: вместо того, чтобы указывать это как «да» или «нет», он будет преобразован в «прибыл» или «ожидает» в измерении нежелательной почты. Разработчик может построить таблицу измерений так, чтобы в конечном итоге она содержала все индикаторы, встречающиеся с каждым другим индикатором, и охватывала все комбинации. Это устанавливает фиксированный размер самой таблицы, который будет равен 2. х строк, где x — количество показателей. Это решение подходит в ситуациях, когда проектировщик ожидает встретить множество различных комбинаций и где возможные комбинации ограничены приемлемым уровнем. В ситуации, когда количество индикаторов велико, что приводит к созданию очень большой таблицы, или когда разработчик ожидает встретить только несколько возможных комбинаций, было бы более уместно строить каждую строку в ненужном измерении по мере появления новых комбинаций. . Чтобы ограничить размер таблиц, в других ситуациях может оказаться целесообразным использование нескольких ненужных измерений в зависимости от корреляции между различными индикаторами.
Ненужные измерения также подходят для размещения таких атрибутов, как необобщенные комментарии из таблицы фактов. Такие атрибуты могут состоять из данных из необязательного поля комментариев, когда клиент размещает заказ, и в результате во многих случаях они, вероятно, будут пустыми. Таким образом, ненужное измерение должно содержать одну строку, представляющую пробелы в качестве суррогатного ключа, который будет использоваться в таблице фактов для каждой строки, возвращаемой с пустым полем комментария. [7]
Вырожденное измерение [ править ]
Вырожденное измерение — это ключ, такой как номер транзакции, номер счета, номер билета или номер коносамента, который не имеет атрибутов и, следовательно, не присоединяется к фактической таблице измерений. Вырожденные измерения очень распространены, когда зернистость таблицы фактов представляет собой один элемент транзакции или отдельную позицию, поскольку вырожденное измерение представляет собой уникальный идентификатор родительского элемента. Вырожденные измерения часто играют важную роль в первичном ключе таблицы фактов. [8]
Ролевое измерение [ править ]
Измерения часто используются повторно для нескольких приложений в одной базе данных. Например, измерение «Дата» можно использовать для «Даты продажи», а также «Даты доставки» или «Даты приема на работу». Это часто называют «ролевым измерением». Это можно реализовать с помощью представления той же таблицы измерений.
Размер выносной опоры [ править ]
Обычно таблицы измерений не ссылаются на другие измерения через внешние ключи. В этом случае указанный размер называется выносным размером. Измерения выносных опор следует рассматривать как антишаблон хранилища данных: считается лучшей практикой использовать некоторые таблицы фактов, связывающие эти два измерения. [9]
Уменьшенное измерение [ править ]
Соответствующие измерения называются сжатыми, если они включают подмножество строк и/или столбцов исходного измерения. [10]
Измерение даты календаря [ изменить ]
Для представления дат с точностью до дня можно использовать измерение специального типа.Даты будут упоминаться в таблице фактов как внешние ключи измерения даты.Первичный ключ измерения даты может быть суррогатным ключом или числом в формате ГГГГММДД.
Измерение даты может включать в себя другие атрибуты, например неделю года или флаги, обозначающие рабочие дни, праздники и т. д.Он также может включать специальные строки, обозначающие: неизвестные даты или даты, которые еще предстоит определить.Измерение даты должно быть инициализировано всеми необходимыми датами, скажем, датами следующих 10 лет или более, если требуется, или прошлыми датами, если обрабатываются события в прошлом.
Вместо этого время обычно лучше всего представить в виде отметки времени в таблице фактов . [11]
Использование терминов представления ISO [ править ]
При ссылке на данные из реестра метаданных , такого как ISO/IEC 11179 , в качестве измерений обычно используются такие термины представления , как «Индикатор» (логическое значение «истина/ложь»), «Код» (набор непересекающихся перечислимых значений). Например, при использовании Национальной модели обмена информацией (NIEM) имя элемента данных будет «PersonGenderCode», а перечисляемые значения могут быть «мужской», «женский» и «неизвестный».
Таблица размеров [ править ]
В хранилищах данных таблица измерений является одним из множества сопутствующих таблиц к таблице фактов .
Таблица фактов содержит бизнес-факты (или меры) и внешние ключи , которые ссылаются на потенциальные ключи (обычно первичные ключи ) в таблицах измерений.
В отличие от таблиц фактов, таблицы измерений содержат описательные атрибуты (или поля), которые обычно представляют собой текстовые поля (или дискретные числа, ведущие себя как текст). Эти атрибуты предназначены для выполнения двух важных задач: ограничения и/или фильтрации запросов и маркировки набора результатов запроса.
Атрибуты измерения должны быть:
- Подробный (метки, состоящие из полных слов)
- Описательный
- Полный (без пропущенных значений)
- Дискретно оцениваемые (имеющие только одно значение в каждой строке таблицы измерений)
- Гарантированное качество (без орфографических ошибок или невозможных значений)
Строки таблицы измерений однозначно идентифицируются одним ключевым полем. Рекомендуется, чтобы ключевое поле было простым целым числом, поскольку ключевое значение не имеет смысла и используется только для соединения полей между таблицами фактов и таблицами измерений. В таблицах измерений часто используются первичные ключи, которые также являются суррогатными ключами. Суррогатные ключи часто генерируются автоматически (например, «столбец идентификаторов» Sybase или SQL Server, серийный номер PostgreSQL или Informix, Oracle SEQUENCE или столбец, определенный с помощью AUTO_INCREMENT в MySQL).
Использование суррогатных ключей измерений дает несколько преимуществ, в том числе:
- Производительность . Обработка соединения становится намного более эффективной за счет использования одного поля ( суррогатного ключа ).
- Буферизация от практик оперативного управления ключами. Это предотвращает ситуации, когда удаленные строки данных могут появиться снова, когда их естественные ключи повторно используются или переназначаются после длительного периода бездействия.
- Сопоставление для интеграции разрозненных источников
- Обработка неизвестных или неприменимых соединений
- Отслеживание изменений значений атрибутов измерения
Хотя использование суррогатного ключа создает нагрузку на систему ETL , конвейерную обработку можно улучшить, а инструменты ETL имеют встроенную улучшенную обработку суррогатного ключа.
Целью таблицы измерений является создание стандартизированных, согласованных измерений, которые можно использовать в среде хранилища данных предприятия , а также обеспечить возможность объединения с несколькими таблицами фактов, представляющими различные бизнес-процессы.
Соответствующие измерения важны для корпоративного характера систем DW/BI, поскольку они способствуют:
- Последовательность. Каждая таблица фактов последовательно фильтруется, поэтому ответы на запросы помечаются последовательно.
- Интеграция. Запросы могут детализировать различные таблицы фактов процесса по отдельности, а затем объединять результаты по общим атрибутам измерений.
- Сокращение времени разработки до выхода на рынок. Общие размеры доступны без их воссоздания.
Со временем атрибуты данной строки в таблице измерений могут измениться. Например, адрес доставки компании может измениться. Кимбалл называет это явление медленно меняющимся измерением . Стратегии борьбы с такого рода изменениями делятся на три категории:
- Введите первый: просто перезапишите старые значения.
- Введите второй: добавьте новую строку, содержащую новые значения, и различайте строки, используя методы управления версиями кортежей .
- Введите третий: добавьте новый атрибут в существующую строку.
Общие шаблоны [ править ]
Дата и время [ править ]
Источник: [12]
Поскольку многие таблицы фактов в хранилище данных представляют собой временные ряды наблюдений, часто требуется одно или несколько измерений дат. Одной из причин использования измерений даты является размещение данных календаря в хранилище данных, а не жестко запрограммировано в приложении. Хотя простая метка даты и времени SQL полезна для предоставления точной информации о времени записи факта, она не может предоставить информацию о праздниках, финансовых периодах и т. д. Метку даты и времени SQL все же можно использовать для хранения в таблице фактов. поскольку это позволяет производить точные расчеты.
Наличие даты и времени суток в одном измерении может легко привести к созданию огромного измерения с миллионами строк. Если требуется большое количество деталей, обычно рекомендуется разделить дату и время на два или более отдельных измерения. Измерение времени с долей секунд в день будет иметь только 86400 строк. В зависимости от потребностей можно выбрать более или менее подробную детализацию измерений даты/времени. Например, размеры даты могут быть точными до года, квартала, месяца или дня, а измерения времени могут быть точными до часов, минут или секунд.
Как правило, измерение времени суток следует создавать только в том случае, если необходима иерархическая группировка или если существуют значимые текстовые описания периодов времени в течение дня (например, «вечерний пик» или «первая смена»).
Если строки в таблице фактов поступают из нескольких часовых поясов, может быть полезно хранить дату и время как по местному, так и по стандартному времени. Это можно сделать, имея два измерения для каждого необходимого измерения даты/времени — одно для местного времени и одно для стандартного времени. Сохранение даты/времени как по местному, так и по стандартному времени позволит анализировать, когда факты создаются как в локальной, так и в глобальной настройке. Выбранное стандартное время может быть глобальным стандартным временем (например, UTC ), местным временем штаб-квартиры компании (например, CET ) или любым другим часовым поясом, который имеет смысл использовать.
См. также [ править ]
- Категориальная переменная
- Хранилище данных
- Вырожденное измерение
- Медленно меняющееся измерение
- Таблица фактов
- ИСО/МЭК 11179
- Мера (хранилище данных)
- Метаданные
Ссылки [ править ]
- ^ « Руководство по хранению данных Oracle », Oracle Corporation, получено 9 июня 2014 г.
- ^ Определение: Измерение «Управление поисковыми данными», TechTarget, получено 9 июня 2014 г.
- ^ Говорит Калин (9 октября 2014 г.). «Типы таблиц измерений | Обучение хранению данных» . Эдурека . Проверено 12 января 2022 г.
- ^ Росс, Марджи (5 февраля 2013 г.). «Совет по дизайну № 152: Медленное изменение типов размеров 0, 4, 5, 6 и 7» . Группа Кимбалл . Проверено 12 января 2022 г.
- ^ Ральф Кимбалл, Марджи Росс, Набор инструментов для хранилища данных: Полное руководство по размерному моделированию, второе издание, Wiley Computer Publishing, 2002. ISBN 0471-20024-7 , страницы 82–87, 394.
- ^ Ральф Кимбалл, Марджи Росс, Набор инструментов для хранилища данных: Полное руководство по размерному моделированию, второе издание, Wiley Computer Publishing, 2002. ISBN 0471-20024-7 , страницы 202, 405.
- ^ Кимбалл, Ральф и др. (2008): Набор инструментов для жизненного цикла хранилища данных, второе издание, Wiley Publishing Inc., Индианаполис, Индиана. Страницы 263-265
- ^ Ральф Кимбалл, Марджи Росс, Набор инструментов для хранилища данных: Полное руководство по размерному моделированию, второе издание, Wiley Computer Publishing, 2002. ISBN 0471-20024-7 , страницы 50, 398.
- ^ Ральф Кимбалл; Марджи Росс (2013). Набор инструментов для хранилища данных, 3-е издание . Уайли. п. 50. ISBN 978-1-118-53080-1 .
- ^ Ральф Кимбалл; Марджи Росс (2013). Набор инструментов для хранилища данных, 3-е издание . Уайли. п. 51. ИСБН 978-1-118-53080-1 .
- ^ Ральф Кимбалл; Марджи Росс (2013). Набор инструментов для хранилища данных, 3-е издание . Уайли. п. 48. ИСБН 978-1-118-53080-1 .
- ^ Ральф Кимбалл, Набор инструментов для хранилища данных, второе издание, Wiley Publishing, Inc., 2008. ISBN 978-0-470-14977-5 , страницы 253-256.