Partilhar via


Transformação do Distribuidor de Dados Balanceados

Aplica-se a:SQL Server SSIS Integration Runtime em Azure Data Factory

A transformação Balanced Data Distributor (BDD) aproveita a capacidade de processamento concorrente das CPUs modernas. Distribui os buffers das linhas recebidas de forma uniforme entre as saídas em threads separadas. Ao utilizar threads separados para cada caminho de saída, o componente BDD melhora o desempenho de um pacote SSIS em máquinas multi-core ou multiprocessador.

O diagrama seguinte mostra um exemplo simples de utilização da transformação BDD. Neste exemplo, a transformação BDD escolhe um buffer de pipeline de cada vez a partir dos dados de entrada provenientes de um ficheiro plano e envia-o por um dos três caminhos de saída em esquema round robin. Nas SQL Server Data Tools, pode verificar os valores de um DefaultBufferSize(tamanho padrão do buffer do pipeline) e DefaultBufferMaxRows(número máximo padrão de linhas num buffer de pipeline) na janela Propriedades que mostra as propriedades de uma tarefa de fluxo de dados.

Distribuidor de Dados Balanceados

A transformação do Distribuidor de Dados Equilibrados ajuda a melhorar o desempenho de um pacote num cenário que satisfaz as seguintes condições:

  1. Há uma grande quantidade de dados a entrar na transformação BDD. Se o tamanho dos dados for pequeno e apenas um buffer puder armazenar os dados, não faz sentido usar a transformação BDD. Se o tamanho dos dados for grande e forem necessários vários buffers para armazenar os dados, o BDD pode processar buffers de dados de forma eficiente em paralelo usando threads separados.

  2. Os dados podem ser lidos mais rapidamente do que o resto do fluxo de dados consegue processá-los. Neste cenário, as transformações realizadas nos dados decorrem lentamente em relação à velocidade a que os dados chegam. Se o gargalo estiver no destino, o destino tem de ser paralelizável.

  3. Os dados não precisam de ser ordenados. Por exemplo, se os dados precisarem de permanecer organizados, não deve dividir os dados usando a transformação BDD.

Note-se que, se o gargalo num pacote SSIS se deve à taxa a que os dados podem ser lidos da fonte, o componente BDD não ajuda a melhorar o desempenho. Se o gargalo num pacote SSIS for porque o destino não suporta paralelismo, o BDD não ajuda; no entanto, pode realizar todas as transformações em paralelo e usar a transformação Union All para combinar os dados de saída provenientes de diferentes caminhos da transformação BDD antes de enviar os dados para o destino.

Importante

Veja o vídeo do Balanced Data Distributor na TechNet Library para uma apresentação com uma demonstração sobre a utilização da transformação.