DTS / SSIS против Informatica Power Center - PullRequest
       21

DTS / SSIS против Informatica Power Center

3 голосов
/ 12 сентября 2010

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

Позвольте мне дать вам краткий обзор.

Десять лет назад мы использовали для записи загрузок данных, считывая входные плоские файлы из устаревших приложений, и загружали их в наш Datamart. Первоначально наши программы загрузки были написаны на VB6 и прокручивались через плоский файл, и для каждой записи выполнялся этот общий процесс:

1) Посмотрите на запись. Если найден, обновите его 2) еще вставить новую запись

Затем мы закончили тем, что изменили этот процесс, чтобы использовать SQL Server для DTS плоского файла во временной таблице, а затем мы выполнили бы массивное базовое соединение наборов для временной таблицы с целевой производственной таблицей, взяв данные из временной таблицы и использовать его для обновления целевой таблицы. Записи, которые не присоединились, были вставлены.

Это упрощение процесса, но, по сути, процесс перешел от итеративного подхода к «набору на основе», больше не выполняя обновления по 1 записи за раз. В результате мы получили огромный прирост производительности.

Затем мы создали, как мне кажется, мощный набор общих функций в DLL для выполнения общих функций / шаблонов обновления с использованием этого подхода. Это значительно абстрагировало разработку и действительно сократило время разработки.

Затем появился Informatica PowerCenter, инструмент ETL, и MGT хочет стандартизировать инструмент и переписать старые нагрузки VB, которые использовали DTS.

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

Есть ли у кого-нибудь опыт использования DTS или SSIS, чтобы иметь возможность сделать предварительную настройку производительности в отношении того, что в целом будет лучше?

1 Ответ

6 голосов
/ 12 сентября 2010

Я вступил в организацию, которая использовала Informatica PowerCenter 8.1.1.Хотя я не могу говорить об общих настройках Informatica, я могу сказать, что в этой компании Informatica была чрезвычайно неэффективна.Основная проблема заключается в том, что Informatica сгенерировала действительно ужасный код SQL в серверной части.Когда я наблюдал, что он делает с профилировщиком и просматривая текстовые журналы, он генерировал отдельные операторы вставки, обновления и удаления для каждой строки, которую нужно было вставить / обновить / удалить.Вместо того, чтобы пытаться исправить реализацию Informatica, я просто заменил ее на SSIS 2008.

Другая проблема, с которой я столкнулся в Informatica, заключалась в управлении распараллеливанием.И в DTS, и в SSIS распараллеливание задач было довольно простым - не определяйте ограничения приоритета, и ваши задачи будут выполняться параллельно.В Informatica вы определяете начальную точку, а затем определяете ветви для параллельного запуска процессов.Я не мог найти способ ограничить число параллельных процессов, если я не определил их явным образом с помощью цепочки рабочих листов или задач.

В моем случае SSIS значительно превзошел Informatica.Наш процесс загрузки с Informatica занял около 8-12 часов.Наш процесс загрузки с работами агента SSIS и SQL Server занял около 1-2 часов.Я уверен, что если бы мы должным образом настроили Informatica, мы могли бы уменьшить нагрузку до 3-4 часов, но я все еще не думаю, что это было бы намного лучше.

...