Migrar dados para o Armazenamento de blob do Azure

Se o fluxo de trabalho incluir a movimentação de dados para o Armazenamento de Blob do Azure, certifique-se de que você está usando uma estratégia eficiente. Você deve criar o cache, adicionar o contêiner de blob como um destino de armazenamento e copiar seus dados usando o Azure HPC Cache.

Este artigo explica as melhores maneiras de mover dados para o armazenamento de blobs para usá-los com o Azure HPC Cache.

Dica

Este artigo não se aplica ao armazenamento de blobs montado no NFS (destinos de armazenamento do ADLS-NFS). Você pode usar qualquer método baseado em NFS para preencher um contêiner de blob do ADLS-NFS antes ou depois de adicioná-lo ao HPC Cache. Leia Pré-carregar dados com o protocolo do NFS para saber mais.

Não esqueça desses fatores:

  • O Azure HPC Cache usa um formato especializado de armazenamento para organizar dados no armazenamento de blobs. Por isso, um destino de armazenamento de blobs deve ser um contêiner novo e vazio ou um contêiner de blob que, anteriormente, era usado para dados do Azure HPC Cache.

  • Copiar dados por meio do Azure HPC Cache para um destino de armazenamento de back-end é mais eficiente quando você usa vários clientes e operações paralelas. Um comando de cópia simples de um cliente move os dados lentamente.

As estratégias descritas neste artigo funcionam para preencher um contêiner de blob vazio ou para adicionar arquivos a um destino de armazenamento usado anteriormente.

Copiar dados por meio do Azure HPC Cache

O Azure HPC Cache foi projetado para atender a vários clientes simultaneamente, por isso, para copiar dados por meio do cache, você deve usar gravações paralelas de vários clientes.

Diagram showing multi-client, multi-threaded data movement: At the top left, an icon for on-premises hardware storage has multiple arrows coming from it. The arrows point to four client machines. From each client machine three arrows point toward the Azure HPC Cache. From the Azure HPC Cache, multiple arrows point to blob storage.

Os comandos cp ou copy tipicamente usados para transferir dados de um sistema de armazenamento para outro são processos de thread único que copiam apenas um arquivo por vez. Isso significa que o servidor de arquivos está ingerindo apenas um arquivo por vez, o que é um desperdício de recursos do cache.

Esta seção explica estratégias para criar um sistema de cópia de arquivos com vários clientes e várias conversas para mover dados para o armazenamento de blobs com o Azure HPC Cache. Ele explica os conceitos de transferência de arquivo e os pontos de decisão que podem ser usados para cópia de dados eficiente usando vários clientes e comandos de cópia simples.

Também explica alguns utilitários que podem ajudar. O utilitário msrsync pode ser usado para automatizar parcialmente o processo de dividir um conjunto de dados em buckets e usando comandos rsync. O script parallelcp é outro utilitário que lê o diretório de origem e emite comandos de cópia automaticamente.

Planejamento estratégico

Ao criar uma estratégia para copiar dados em paralelo, você deve compreender as vantagens e desvantagens de tamanho do arquivo, contagem de arquivos e profundidade de diretório.

  • Quando os arquivos são pequenos, a métrica de interesse é arquivos por segundo.
  • Quando os arquivos são grandes (10 MiBi ou mais), a métrica de interesse é bytes por segundo.

Cada processo de cópia tem uma taxa de transferência e uma taxa de arquivos transferidos, que podem ser medidas pelo tempo o comprimento do comando de cópia e fatorando o tamanho do arquivo e a contagem de arquivos. Explicar como medir as taxas está fora do escopo deste documento, mas é fundamental entender isso, esteja você lidando com arquivos grandes ou pequenos.

As estratégias para ingerir de dados paralelos com o Azure HPC Cache incluem:

Próximas etapas

Depois de configurar o armazenamento, saiba como os clientes podem montar o cache.