#ssis #dimensional-modeling #sql-data-warehouse
Вопрос:
При ежемесячном увеличении загруженного DWH у меня есть задача создать процесс, чтобы иметь возможность перезагружать случайный месяц в DWH.
Допустим, перезагрузите данные за февраль 2021 года в существующем DWH.
Если я перезагрузлю данные за февраль 2021 года на 2021/08/15, мой клиент измерения SCD2 окажется таким:
У меня могут быть неправильные атрибуты измерения до следующей загрузки. И даты в DateFrom/DateTo будут перепутаны.
Вопросы:
- является ли это хорошим подходом для перезагрузки за один месяц?
- если да, то есть какие-нибудь советы, как с этим бороться?
- В этом случае я бы предпочел полную перезагрузку DWH. Это хорошая идея?
Работа на sql server с помощью инструмента SSIS ETL.
Спасибо
Ответ №1:
Если вы просто запускаете существующий процесс, то для перезагрузки данных вам потребуется откатить DWH до точки, предшествующей неверным данным, снова применить обновленный набор данных, а затем повторно применить все последующие наборы данных. Очевидно, что это важная часть работы, поэтому не очень хорошая идея, если у вас нет другого выбора, и определенно не то, что вы хотели бы выполнять регулярно.
Если вы действительно хотите иметь возможность повторно применить один набор данных из прошлого, вам нужно будет написать процесс для этого, например
- Определите существующие записи, соответствующие вашему обновленному набору данных, и удалите их
- Вставьте обновленный набор данных с учетом предыдущих и последующих записей