Partilhar via


Guia de Desempenho e Escalabilidade da Atividade de Cópia

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.

Por vezes, quer realizar uma migração de dados em grande escala do data lake ou do enterprise data warehouse (EDW) para o Azure. Outras vezes, queres ingerir grandes quantidades de dados, de diferentes fontes, para o Azure, para análise de big data. Em cada caso, é fundamental alcançar o desempenho e a escalabilidade ideais.

Os pipelines Azure Data Factory e Azure Synapse Analytics fornecem um mecanismo para ingerir dados, com as seguintes vantagens:

  • Lida com grandes quantidades de dados
  • É altamente performante
  • É rentável

Essas vantagens são uma excelente opção para engenheiros de dados que desejam criar pipelines de ingestão de dados escaláveis que sejam de alto desempenho.

Depois de ler este artigo, você será capaz de responder às seguintes perguntas:

  • Que nível de desempenho e escalabilidade posso alcançar usando a atividade de cópia para cenários de migração e ingestão de dados?
  • Que etapas devo tomar para ajustar o desempenho da atividade de cópia?
  • Que otimizações de desempenho posso utilizar para executar uma única atividade de cópia?
  • Que outros fatores externos considerar ao otimizar o desempenho da cópia?

Note

Se você não estiver familiarizado com a atividade de cópia em geral, consulte a visão geral da atividade de cópia antes de ler este artigo.

Desempenho de cópia e escalabilidade alcançados através dos pipelines do Azure Data Factory e do Synapse

O Azure Data Factory e os pipelines Synapse oferecem uma arquitetura serverless que permite o paralelismo em diferentes níveis.

Esta arquitetura permite o desenvolvimento de pipelines que maximizam a taxa de transferência de dados para o seu ambiente. Esses pipelines utilizam totalmente os seguintes recursos:

  • Largura de banda de rede entre os armazenamentos de dados de origem e destino
  • Operações de entrada/saída de armazenamento de dados de origem ou destino por segundo (IOPS) e largura de banda

Essa utilização total significa que você pode estimar a taxa de transferência geral medindo a taxa de transferência mínima disponível com os seguintes recursos:

  • Armazenamento de dados de origem
  • Arquivo de dados de destino
  • Largura de banda de rede entre os armazenamentos de dados de origem e de destino

A tabela abaixo mostra o cálculo da duração do movimento de dados. A duração em cada célula é calculada com base em uma determinada rede e largura de banda de armazenamento de dados e um determinado tamanho de carga útil de dados.

Note

A duração fornecida abaixo destina-se a representar o desempenho alcançável em uma solução de integração de dados de ponta a ponta usando uma ou mais técnicas de otimização de desempenho descritas em Recursos de otimização de desempenho de cópia, incluindo o uso de ForEach para particionar e gerar várias atividades de cópia simultâneas. Recomendamos que você siga as etapas estabelecidas em Etapas de ajuste de desempenho para otimizar o desempenho da cópia para seu conjunto de dados específico e configuração do sistema. Você deve usar os números obtidos em seus testes de ajuste de desempenho para planejamento de implantação de produção, planejamento de capacidade e projeção de faturamento.

 

Tamanho dos dados /
largura de banda
50 Mbps 100 Mbps 500 Mbps 1 Gbps 5 Gbps 10 Gbps 50 Gbps
1 GB 2,7 min 1,4 min 0,3 min 0,1 min 0,03 min 0,01 min 0,0 min
10 GB 27,3 min 13,7 min 2,7 min 1,3 min 0,3 min 0,1 min 0,03 min
100 GB 4,6 horas 2,3 horas 0,5 hrs 0,2 hrs 0,05 hrs 0,02 hrs 0,0 h
1 TB 46,6 hrs 23,3 h 4,7 horas 2,3 horas 0,5 hrs 0,2 hrs 0,05 hrs
10 TB 19,4 dias 9,7 dias 1,9 dias 0,9 dias 0,2 dias 0,1 dias 0,02 dias
100 TB 194,2 dias 97,1 dias 19,4 dias 9,7 dias 1,9 dias 1 dia 0,2 dias
1 recorde pessoal 64,7 meses 32,4 meses 6,5 meses 3,2 meses 0,6 meses 0,3 meses 0,06 meses
10 PB 647,3 MΩ 323,6 meses 64,7 meses 31,6 meses 6,5 meses 3,2 meses 0,6 meses

A cópia é escalável em diferentes níveis:

Como a cópia é dimensionada

  • O fluxo de controle pode iniciar várias atividades de cópia em paralelo, por exemplo, usando For Each loop.

  • Uma única atividade de cópia pode tirar proveito de recursos de computação escaláveis.

    • Ao utilizar a Azure Integration Runtime (IR), pode especificar até 256 unidades de integração de dados (DIUs) para cada atividade de cópia, de forma sem servidor.
    • Ao usar o IR auto-hospedado, você pode adotar uma das seguintes abordagens:
      • Aumente manualmente a capacidade da máquina.
      • Expanda para várias máquinas (até 4 nós), e uma atividade de cópia única particionará o conjunto de arquivos por todos os nós.
  • Uma única atividade de cópia lê e grava no armazenamento de dados usando vários threads em paralelo.

Etapas de ajuste de desempenho

Siga as seguintes etapas para ajustar o desempenho do seu serviço com a atividade de cópia:

  1. Pegue um conjunto de dados de teste e estabeleça uma linha de base.

    Durante o desenvolvimento, teste seu pipeline usando a atividade de cópia em relação a uma amostra de dados representativa. O conjunto de dados escolhido deve representar seus padrões de dados típicos ao longo dos seguintes atributos:

    • Estrutura de pastas
    • Padrão de arquivo
    • Esquema de dados

    E seu conjunto de dados deve ser grande o suficiente para avaliar o desempenho da cópia. Um tamanho adequado leva pelo menos 10 minutos para que a atividade de cópia seja concluída. Colete detalhes de execução e características de desempenho seguindo o monitoramento da atividade de cópia.

  2. Como maximizar o desempenho de uma única atividade de cópia:

    Recomendamos que você primeiro maximize o desempenho usando uma única atividade de cópia.

    • Se a atividade de cópia estiver a ser executada num runtime de integração Azure:

      Comece com valores padrão para unidades de integração de dados (DIU) e configurações de cópia paralela.

    • Se a atividade de cópia estiver a ser executada num runtime de integração autogerido :

      Recomendamos que você use uma máquina dedicada para hospedar o IR. A máquina deve ser separada do servidor que hospeda o armazenamento de dados. Comece com valores padrão para a definição de cópia paralela e usando um único nó para o IR auto-hospedado.

    Conduza um teste de desempenho. Tome nota do desempenho alcançado. Inclua os valores reais utilizados, como DIUs e cópias paralelas. Consulte o monitoramento de atividade de cópia para saber como colher os resultados das execuções e as configurações de desempenho utilizadas. Saiba como resolver problemas de performance na atividade de cópia para identificar e solucionar o gargalo.

    Repita para realizar mais testes de desempenho seguindo as diretrizes de resolução de problemas e otimização. Quando a atividade de cópia única for executada e não for possível obter uma taxa de transferência melhor, considere se deve maximizar a taxa de transferência agregada executando várias cópias simultaneamente. Esta opção é discutida na próxima lista numerada.

  3. Como maximizar a taxa de transferência agregada executando várias cópias simultaneamente:

    Até agora, você já maximizou o desempenho de uma única atividade de cópia. Se você ainda não atingiu os limites superiores de taxa de transferência do seu ambiente, poderá executar várias atividades de cópia em paralelo. Você pode executar em paralelo usando construções de fluxo de controle. Uma dessas construções é o loop For Each. Para obter mais informações, consulte os seguintes artigos sobre modelos de solução:

  4. Expanda a configuração para todo o conjunto de dados.

    Quando estiver satisfeito com os resultados de execução e o desempenho, você poderá expandir a definição e o pipeline para cobrir todo o conjunto de dados.

Resolver Problemas de Desempenho da Atividade de Cópia

Siga as etapas de ajuste de desempenho para planejar e conduzir testes de desempenho para seu cenário. E saiba como solucionar o problema de desempenho de cada execução de atividade de cópia a partir de Solucionar problemas de desempenho da atividade de cópia.

Copiar recursos de otimização de desempenho

O serviço fornece os seguintes recursos de otimização de desempenho:

Unidades de Integração de Dados

Uma Unidade de Integração de Dados (DIU) é uma medida que representa a potência de uma única unidade nos pipelines Azure Data Factory e Synapse. Power é uma combinação de CPU, memória e alocação de recursos de rede. DIU aplica-se apenas ao runtime de integração do Azure. O DIU não se aplica ao runtime de integração autogerido. Saiba mais aqui.

Escalabilidade do runtime de integração autoalojado

Talvez você queira hospedar uma carga de trabalho simultânea crescente. Ou você pode querer obter um desempenho mais alto em seu nível de carga de trabalho atual. Você pode melhorar a escala de processamento pelas seguintes abordagens:

Para obter mais informações, consulte:

Cópia paralela

Você pode definir a parallelCopies propriedade para indicar o paralelismo que deseja que a atividade de cópia use. Pense nessa propriedade como o número máximo de threads dentro da atividade de cópia. Os threads operam em paralelo. Os threads ou leem da sua fonte ou escrevem nos repositórios de dados de destino. Saiba mais.

Cópia faseada

Uma operação de cópia de dados pode enviar os dados diretamente para o armazenamento de destino. Como alternativa, pode optar por usar o armazenamento de Blob como um armazenamento temporário. Saiba mais.

Veja outros artigos sobre atividades de cópia: