DWH Перезагрузка данных

#ssis #dimensional-modeling #sql-data-warehouse

Вопрос:

При ежемесячном увеличении загруженного DWH у меня есть задача создать процесс, чтобы иметь возможность перезагружать случайный месяц в DWH.

Допустим, перезагрузите данные за февраль 2021 года в существующем DWH.

Если я перезагрузлю данные за февраль 2021 года на 2021/08/15, мой клиент измерения SCD2 окажется таким:

тусклый клиент

У меня могут быть неправильные атрибуты измерения до следующей загрузки. И даты в DateFrom/DateTo будут перепутаны.

Вопросы:

  1. является ли это хорошим подходом для перезагрузки за один месяц?
  2. если да, то есть какие-нибудь советы, как с этим бороться?
  3. В этом случае я бы предпочел полную перезагрузку DWH. Это хорошая идея?

Работа на sql server с помощью инструмента SSIS ETL.

Спасибо

Ответ №1:

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

Если вы действительно хотите иметь возможность повторно применить один набор данных из прошлого, вам нужно будет написать процесс для этого, например

  • Определите существующие записи, соответствующие вашему обновленному набору данных, и удалите их
  • Вставьте обновленный набор данных с учетом предыдущих и последующих записей