|
||||||||
Статьи / Медленно меняющиеся измерения (часть 2)20.09.2018 г., перевод статьи Ralph Kimball Владелец хранилища данных должен решить, как реагировать на изменения в описаниях размерных сущностей, таких как «Сотрудник», «Клиент», «Продукт», «Поставщик», «Местоположение» и другие. За 30 лет изучения этого вопроса, я обнаружил, что необходимы только три различных типа реакций. Я называл эти медленно меняющиеся размеры (SCD) типами 1, 2 и 3. В прошлой статье, я описал Тип 1 (SCD Type 1), который перезаписывает измененные данные в измерении. В этой статье я разберу типы 2 и 3 (SCD Type 2 и SCD Type 3). Тип 2 (SCD Type 2): добавление новой записи измеренияДавайте изменим сценарий предыдущей статьи, где я переписал поле «Город проживания» в записи сотрудника Ральфа Кимбалла, и предположим, что Ральф Кимбалл действительно переехал из Санта-Крус в Боулдер-Крик 18 июля 2008 года. Предположим, что наша политика заключается в точном отслеживании домашних адресов сотрудников в хранилище данных. Это классическое изменение SCD Type 2. SCD Type 2 требует, чтобы мы выпустили новую запись сотрудника для Ральфа Кимбалла с 18 июля 2008 года. Это имеет много интересных побочных эффектов:
Тип 3 (SCD Type 3): Добавление нового поляХотя SCDs типа 1 и 2 являются основными методами, так сказать «рабочей лошадкой» для реагирования на изменения в измерении, нам нужен третий метод для обработки альтернативных реальностей. В отличие от физических атрибутов, которые могут иметь только одно значение в определенный момент времени, некоторые пользовательские атрибуты могут иметь несколько назначенных значений в зависимости от точки зрения наблюдателя. Например, категория продуктов может иметь несколько интерпретаций. В канцелярском магазине маркировочная ручка может быть отнесена к категории товаров для дома или к категории художественных принадлежностей. Конечные пользователи и приложения должны иметь возможность выбирать во время запроса, какая из этих альтернативных реальностей применяется. Требование альтернативного представления реальности атрибута измерения обычно сопровождается такой тонкостью, как требование, чтобы отдельные версии реальности были доступны в любое время в прошлом и в будущем, даже несмотря на то, что запрос сделать эти реальности видимыми прибыл в хранилище данных сегодня. В простейшем варианте есть только одна альтернативная реальность. В этом случае, для примера категории продуктов мы добавим новое поле в измерение, называемое альтернативной категорией. Если основная категория нашей маркировочной ручки раньше была бытовыми товарами, а теперь должна быть художественными принадлежностями, то используя метод SCD Type 3 мы добавляем ярлык бытовых товаров в поле альтернативной категории, и обновляем обычное поле категории «художественные принадлежности» путем перезаписи. Шаг перезаписи похож на SCD Type 1 и обладает все теми же недостатками и достоинствами, отмеченными в предыдущей статье. Используя SCD Type 3, конечные пользователи и приложения могут плавно переключаться между разными альтернативными реальностями. Если среда требует более одной альтернативной реальности, этот подход можно обобщить, добавив больше альтернативных полей, хотя очевидно, что этот метод не подходит для корректного масштабирования за пределами нескольких вариантов. Три метода SCD в обработке разницы во времени в измерениях обладают большой вариативностью в реальных ситуациях, которые возникают при работе с хранилищем данных. SCD Type 2, в частности, позволяет нам при необходимости неукоснительно выполнять законодательно прописанные обязательства хранилища данных по ведению журналов вносимых изменений и сохранению истории. Автоматизируйте Ваши отчеты на Business Intelligence платформе Pentaho! |
||||||||