Как написать базовый ETL с использованием SQL без усечения/загрузки при каждом запуске ETL?

0

Вопрос

У меня есть база данных OLTP, которую я загружаю в другую базу данных с помощью SQL (ETL). Для этого во 2-й базе данных базы данных я создал модель схемы звезды, основанную на фактах и измерениях.

Технология: MS-SQL

Факт: Продажи

Размеры: Клиент, Клиент, Агент

Примечание.В исходной системе нет поля "Дата изменения", и строки могут быть удалены в исходной системе.

У меня есть задание агента, которое выполняется каждые 15 минут, чтобы выполнить следующее: для каждой таблицы я загружаю данные из базы данных OLTP в соответствующие промежуточные таблицы (для каждого измерения и таблицы фактов). Затем объедините промежуточную тусклую таблицу в тусклую таблицу. Затем обновите таблицу промежуточных фактов, чтобы включить суррогатный ключ измерения. Затем используйте слияние для синхронизации промежуточной таблицы фактов с таблицей фактов. Это отнимает много ресурсов, потому что мне приходится загружать все данные в промежуточные таблицы при каждом запуске etl. Поэтому я ищу лучший способ - если кто-нибудь сможет указать мне, как это делается, это поможет мне.

data-warehouse etl sql-server ssis
2021-11-22 14:14:18
1

Лучший ответ

1

Это отнимает много ресурсов, потому что мне приходится загружать все данные в промежуточные таблицы при каждом запуске etl

  1. Включите Отслеживание изменений или Сбор данных об изменениях в источнике и извлекайте только измененные строки

или

  1. Создайте реплику для чтения на сервере DW с репликацией транзакций из источника в промежуточные таблицы или с помощью реплики для чтения или доставки журналов.
2021-11-22 16:02:05

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................