SSIS ETL Design - PullRequest
       16

SSIS ETL Design

0 голосов
/ 19 июля 2011

SSIS ETL Design

Я пытаюсь построить работу ETL. Ниже приведены мои основные конструктивные соображения

  1. Одна основная таблица для отслеживания получения данных и статуса

Подробности таблицы

Имя таблицы - JobStatus

  • Столбцы - JobId, StartTime, EndTime, Status

Имя таблицы - JobDetails

  • Job_Detail_id, JobId, TableName, StartTime, EndTime, Status

Имя таблицы - ErrorLog

  • ErrorLogid, ErrorDesc, Время, Комментарии

Как это работает

  1. При сбое задания таблица сведений о задании поможет определить, какая таблица является последней с ошибкой, задание ETL можно запустить с этого шага

  2. В пакете служб SSIS будут определены задачи DataFlow для каждой таблицы между исходной и промежуточной БД

  3. Пример того, как это работает

    • Поместить запись в таблицу статусов заданий, чтобы начать выполнение пакета

    • Каждая задача потока данных для отдельной таблицы помещает запись в таблицу JobDetails. После загрузки данных время окончания и статус будут обновлены

    • При статусе ошибки обновляется до «Ошибка», и запись регистрируется в таблице Errorlog

Мне нужны ваши комментарии / отзывы для этого подхода. Любые закладки / посты для дизайна ETL, относящиеся к этому примеру, также будут полезны

1 Ответ

1 голос
/ 21 июля 2011

Я думаю, что требования, которые вы упомянули о перезапуске выполнения пакета с точки сбоя, уже существуют в SSIS. Вы можете использовать файл Checkpoint для достижения этой функциональности. Встроенная функция ведения журнала служб SSIS поможет вам отслеживать сообщения об ошибках и поможет решить проблему.

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

Я думаю, что вы можете потратить время на тонкую настройку основных бизнес-функций, а не заново изобретать процесс, который уже существует по большей части. Стандартная функциональность может потребовать незначительных изменений в зависимости от наших требований, но я не думаю, что вам нужно начинать с нуля.

Надеюсь, это поможет.

...