deшка
Урок 6.10

Сравнение моделей для одного отчёта

Как один исторический показатель читается из нормализованной схемы, звезды, снежинки, Data Vault и Anchor.

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

Вопрос, зерно и история

Одна строка — потребление одного устройства за один час. Значение — энергия за этот час, а не накопительное показание счётчика.

УстройствоНачало часаЭнергия, kWh
D11 сентября, 10:002
D21 сентября, 10:004
D12 сентября, 10:003

До 2 сентября D1 входило в группу A, затем — в B. D2 всё время относится к A. При выборе группы на момент измерения получаем A — 6 kWh, B — 3 kWh. Если взять нынешнюю группу, получится A — 4 kWh, B — 5 kWh. Общий итог 9 kWh одинаков, но отчёты отвечают на разные вопросы.

Пять структур

МодельГде находятся данныеПуть к историческому отчёту
НормализованнаяУстройство, группа, история членства и измерение — отдельные отношенияИзмерение → устройство → членство, действовавшее в нужный час → группа
ЗвездаФакт потребления ссылается на версию измерения устройства; группа входит в эту версиюФакт → выбранная версия измерения
СнежинкаВерсия устройства ссылается на отдельное измерение группыФакт → версия устройства → группа; историю группы также учитывают, если она меняется
Data VaultHub задаёт ключи устройства и группы, Link — членство, Satellite — его историю и описанияДля витрины выбирают действовавшее членство и версии атрибутов
AnchorAnchor задаёт устройство, Tie — членство, Attributes — независимые истории свойствСобирают связь и нужные атрибуты на момент измерения

Звезда делает путь чтения коротким. Нормализованная схема хранит зависимости в отдельных отношениях. Снежинка выделяет общую иерархию. Vault и Anchor удобны для интеграции и истории, но требуют дополнительных правил загрузки и сборки среза. Поверх них можно построить звезду для отчёта.

Что должно совпасть

При переходе между моделями сохраняют три исходных факта, одну подходящую группу для каждого факта и результат A — 6, B — 3. Повтор одной исторической связи размножит потребление; отсутствие связи потеряет факт. Проверка общего итога дополняется проверкой распределения по группам.

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

Выбор структуры

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

Войти, чтобы отмечатьдальше →
6.11 →Моделирование данных: проверка понимания