вторник, 31 июля 2012 г.

SSIS Рекомендации по оптимизации производительности Data Flow


DataFlow работает в рамках SSIS, оторый представляет собой отдельный процесс как от SQL Server так и от других источников данных.

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

Источники данных DataFlow поддерживают получение данных из хранимых процедур и представлений, по этому, часть работы котрую возможно выполнить в едином контексте (например join, group by, order by) бывает целесообразно не выносить на уровень SSIS, а делать на стороне  СУБД используя при этом возможности индексации и т.п.

Кроме того, когда некоторые компоненты преобразования данных DataFlow работают с СУБД нужно следить что бы в таблицах имелись индексы способные сделать эти взаимодействия наиболее обтимальными.

Для контроля обтимальности взаимодействия с СУБД рекомендуется использовать профайлер или сессии Extended Events.

Если производится выбока данных из таблицы или представления, рекомендуется писать запросы (SELECT) в явном виде, не позволяя системе формировать запросы самостоятельно.

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

Пристальное внимание нужно уделять компонетам активно использующим память (сортировка, аггрегация, Lookup). Если трансформации такого типа обрабатывают польшие наборы данных, это может привести к использованию жесткого диска, что способно сильно замедлить процесс. Иногда перечисленные выше опрации можно делать на стороне СУБД.









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

Locations of visitors to this page