SQL SSIS Сколько шагов — это слишком много

#sql #sql-server-2005 #ssis

#sql #sql-server-2005 #ssis

Вопрос:

У меня есть пакет SSIS, который содержит 27 шагов, начиная от усечения таблицы, импорта данных, преобразования и множества SQL-запросов. Мой вопрос в том, лучше ли хранить их все в одном пакете или разделять шаги на отдельные пакеты?

Комментарии:

1. И тогда следующий вопрос будет: SQL SSIS Сколько пакетов — это слишком много

Ответ №1:

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

  • Если 27-шаговый пакет взорвется на шаге 26, вы в затруднении? Может ли он корректно перезапуститься или потребуется несколько часов очистки?

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

  • Есть ли логика в пакете для нечастой ветки? например, я видел пакеты, в которых была проверка даты, если это были выходные дни очистки (раз в год), он выполнял эту специальную ветку кода, которая была чрезмерно запутанной, сложной и просто отстойной. Этого никогда не должно было быть в пакете, который выполняется ежедневно. Другим примером этого была работа, которая ежедневно продавалась. Другая команда попыталась добавить логику, которая также вычисляла итоги инвентаризации на конец месяца. Совершенно разные предметные области и неправильное расписание загрузки, но они думали, что это быстрее, чем раскручивать новый пакет.

  • Предполагая, что 2008 , вам нужно поделиться результатами кэша поиска? Если это так, потоки данных должны быть в одном пакете.

Комментарии:

1. Просто проголосовал за этот ответ — особенно перезапуск пакетов и разделение предметных областей. И нужно добавить одну техническую вещь: открытие пакета (как во время разработки, так и во время выполнения) приводит к проверке всего пакета (всех задач). Это увеличивает временные издержки как для разработчиков, так и для производственной среды, и, скорее всего, одной из целей является загрузка данных как можно быстрее. Время проверки зависит от логики проверки (возможно, у вас есть некоторые компоненты, отличные от MS, с длительной проверкой) и качества соединения. Конечно, СНАЧАЛА ВЗГЛЯНИТЕ НА РЕКОМЕНДАЦИИ в ответе и только потом подумайте о накладных расходах на проверку.

2. Спасибо за информацию! В нынешнем виде мой пакет включает процедуры очистки, и на выполнение всего этого сейчас уходит около 30 минут (есть пара таблиц в миллионах строк для ежедневного импорта). Этот пакет будет становиться все более и более сложным, поэтому я хотел убедиться, что если мне нужно разделить вещи, я делаю это на ранней стадии.