Я согласен с высоко оцененным ответом, но решил добавить следующее:
* Do you use a staging area to perform the transformation and then
загрузить на склад?
Это зависит от типа преобразования, требует ли оно постановки. Постановка предлагает преимущества разбиения ETL на более управляемые куски, но также предоставляет рабочую область, которая позволяет выполнять манипуляции с данными, не затрагивая хранилище. Это может помочь иметь (по крайней мере) некоторые измерения измерений в промежуточной области, в которых хранятся ключи от системы OLTP и ключ последней дим-записи, которые можно использовать в качестве поиска при загрузке записей фактов.
Преобразование происходит в самом процессе ETL, но может потребоваться или не потребоваться некоторая подготовка, чтобы помочь ему в этом.
* How do you link data between the warehouse and the OLTP database?
Полезно загрузить бизнес-ключи (или фактические первичные ключи, если они доступны) в хранилище данных в качестве ссылки обратно на систему OLTP. Кроме того, аудит в процессе DW должен записывать происхождение каждого бита данных путем записи процесса загрузки, который его загрузил.
* Where/How do you manage the transformation process - in the
база данных в виде пакетов sprocs, dts / ssis,
или SQL из кода приложения?
Как правило, это происходит в пакетах служб SSIS, но часто оно более эффективно для преобразования в исходном запросе. К сожалению, это делает исходный запрос довольно сложным для понимания и, следовательно, обслуживания, поэтому, если производительность не является проблемой, лучше всего преобразовать код SSIS. Когда вы сделаете это, это станет еще одной причиной наличия промежуточной области, так как вы можете сделать больше соединений в исходном запросе между различными таблицами.