Поделиться через


Преобразование сбалансированного распределителя данных

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

В процессе преобразования распространителя сбалансированных данных (BDD) используются возможности параллельной обработки современных процессоров. Оно равномерно распределяет буферы входящих строк по отдельным потокам. С помощью отдельных потоков пути для каждого пути вывода компонент BDD улучшает производительность пакета служб SSIS на многоядерных и мультипроцессорных компьютерах.

На следующей диаграмме показан простой пример использования преобразования BDD. В этом примере преобразование BDD выбирает один буфер конвейера из входных данных неструктурированного файла и отправляет его в один из трех путей вывода в ходе циклического перебора. В SQL Server Data Tools можно проверить значения параметров DefaultBufferSize(размер буфера конвейера по умолчанию) и DefaultBufferMaxRows(максимальное количество строк в буфере конвейера по умолчанию) в окне Свойства задачи потока данных.

Сбалансированный распределитель данных

Преобразование BDD повышает производительность пакета в случае, когда удовлетворяются следующие условия.

  1. Большие объемы данных поступают в преобразование BDD. Если размер данных небольшой и содержать данные может только один буфер, то нет смысла использовать преобразование BDD. Если объем данных большой и для содержания данных нужно несколько буферов, BDD может эффективно параллельно обрабатывать буферы данных с помощью отдельных потоков.

  2. Данные могут быть считаны с более высокой скоростью, чем скорость их обработки в потоке данных. В этом случае преобразования, выполняемые на данных, по сравнению со скоростью поступления данных работают медленнее. Если узким местом является место назначения, то следует параллелизовать именно его.

  3. Данные могут быть не упорядоченными. Например, если данные должны оставаться отсортированными, следует разделить их с помощью преобразования BDD.

Обратите внимание, что если узкое место производительности в пакете служб SSIS возникает из-за скорости считывания данных из источника, то компонент BDD не поможет повысить производительность. Если узкое место в пакете служб SSIS возникает из-за того, что целевое назначение не поддерживает параллелизм, то применение BDD бесполезно. Однако можно выполнять все преобразования параллельно и использовать преобразование Union All для объединения выходных данных, поступающих из различных путей вывода преобразования BDD, до их отправки в пункт назначения.

Внимание

См. в видеоролике Распространитель сбалансированных данных библиотеки TechNet демонстрацию использования преобразования.