Spostare i dati nell'archivio BLOB di Azure

Se il flusso di lavoro include lo spostamento dei dati nell'archivio BLOB di Azure, assicurarsi di usare una strategia efficiente. È necessario creare la cache, aggiungere il contenitore BLOB come destinazione di archiviazione e quindi copiare i dati usando Azure Cache HPC.

Questo articolo illustra i modi migliori per spostare i dati nell'archivio BLOB da usare con Azure Cache HPC.

Suggerimento

Questo articolo non si applica all'archiviazione BLOB montata su NFS (destinazioni di archiviazione ADLS-NFS). È possibile usare qualsiasi metodo basato su NFS per popolare un contenitore BLOB ADLS-NFS prima o dopo l'aggiunta al Cache HPC. Per altre informazioni, vedere Pre-caricare i dati con il protocollo NFS.

Tenere presenti questi fatti:

  • Azure Cache HPC usa un formato di archiviazione specializzato per organizzare i dati nell'archiviazione BLOB. Ecco perché una destinazione di archiviazione BLOB deve essere un nuovo contenitore vuoto o un contenitore BLOB usato in precedenza per i dati di Azure Cache HPC.

  • La copia dei dati tramite il Cache HPC di Azure in una destinazione di archiviazione back-end è più efficiente quando si usano più client e operazioni parallele. Un semplice comando di copia da un client sposta lentamente i dati.

Le strategie descritte in questo articolo funzionano per popolare un contenitore BLOB vuoto o per l'aggiunta di file a una destinazione di archiviazione usata in precedenza.

Copiare dati tramite l'Cache HPC di Azure

Azure Cache HPC è progettato per gestire più client contemporaneamente, quindi per copiare i dati tramite la cache, è consigliabile usare scritture parallele da più client.

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.

I cp comandi o copy usati in genere per trasferire i dati da un sistema di archiviazione a un altro sono processi a thread singolo che copiano un solo file alla volta. Ciò significa che il file server inserisce un solo file alla volta, ovvero uno spreco di risorse della cache.

Questa sezione illustra le strategie per la creazione di un sistema di copia di file multithreading multi-client per spostare i dati nell'archivio BLOB con Azure Cache HPC. Spiega i concetti relativi al trasferimento di file e le decisioni da prendere per una copia dei dati efficiente usando più client e semplici comandi di copia.

Illustra inoltre alcune utilità che possono essere di ausilio. L'utilità msrsync può essere usata per automatizzare parzialmente il processo di suddivisione di un set di dati in contenitori e uso dei comandi rsync. Lo script parallelcp è un'altra utilità che legge la directory di origine e invia automaticamente i comandi di copia.

Pianificazione strategica

Quando si crea una strategia per copiare dati in parallelo, è necessario comprendere i compromessi in termini di dimensioni dei file, numero di file e profondità di directory.

  • Quando i file sono di piccole dimensioni, la metrica di interesse è file al secondo.
  • Quando i file sono di grandi dimensioni (10 MiBi o oltre), la metrica di interesse è byte al secondo.

Ogni processo di copia ha una velocità effettiva e una velocità di trasferimento dei file, che può essere misurata cronometrando la lunghezza del comando di copia e considerando le dimensioni del file e il numero di file. Spiegare come misurare questi valori non rientra nell'ambito di questo documento, ma è fondamentale comprendere se si gestiranno file piccoli o grandi dimensioni.

Le strategie per l'inserimento di dati paralleli con Azure Cache HPC includono:

Passaggi successivi

Dopo aver configurato l'archiviazione, vedere come i client possono montare la cache.