Службы SSIS преобразуют исходную таблицу в несколько задач потока данных, которые вставляются в одну таблицу назначения - PullRequest
0 голосов
/ 01 апреля 2020

Мне нужно перенести данные из базы данных informix в базу данных sql -server. Я использую пакеты ssis для этого преобразования. В базе данных Informix есть таблицы, которые содержат миллионы записей. Так что, когда я выполняю пакет ssis, который выполняет преобразование, требуется несколько часов.

Я читал о параллельном способе, который выполнял бы несколько задач вместе, и это каким-то образом уменьшало мое время.

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

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

Любые мысли / предложения было бы полезно.

Спасибо за ваше время.

1 Ответ

2 голосов
/ 01 апреля 2020

Вы можете использовать Сбалансированный распределитель данных Преобразование Сбалансированное-распределитель-преобразование данных , чтобы увеличить скорость вашего пакета, но этот компонент зависит от ресурсов вашего сервера .

Balanced Data Distributor

Или вы можете разделить таблицу миграции на несколько исходных компонентов и для каждого источника создайте запрос с инкрементной загрузкой в ​​предложении where (например, в дате), а затем используйте компонент UNION ALL для объединения всех источников.

enter image description here

...