Aggiornamento di Archiviazione BLOB di Azure con le funzionalità di Azure Data Lake Storage

Questo articolo illustra come abilitare uno spazio dei nomi gerarchico e sbloccare funzionalità come la sicurezza a livello di file e directory e operazioni più veloci. Queste funzionalità vengono ampiamente usate dai carichi di lavoro di analisi dei Big Data e, nel complesso, vengono denominate Azure Data Lake Storage. Le funzionalità più diffuse includono:

  • Maggiore velocità effettiva, operazioni di input/output al secondo (IOPS) e limiti di capacità di archiviazione.

  • Operazioni più veloci, ad esempio operazioni di ridenominazione, perché è possibile operare su singoli URI del nodo.

  • Motore di query efficiente che trasferisce solo i dati necessari per eseguire una determinata operazione.

  • Sicurezza a livello di contenitore, directory e file.

Per altre informazioni, vedere Introduzione ad Azure Data Lake Storage.

Questo articolo illustra come valutare l'impatto su carichi di lavoro, applicazioni, costi, integrazioni di servizi, strumenti, funzionalità e documentazione. Assicurarsi di esaminare attentamente questi impatti. Quando si è pronti per aggiornare un account, vedere questa guida dettagliata: Aggiornare Archiviazione BLOB di Azure con le funzionalità di Azure Data Lake Storage.

Importante

gli aggiornamenti sono unidirezionali. Non è possibile ripristinare l'account dopo aver eseguito l'aggiornamento. È consigliabile convalidare l'aggiornamento in un ambiente non di produzione.

Impatto sulla disponibilità

Assicurarsi di pianificare alcuni tempi di inattività nell'account durante il completamento del processo di aggiornamento. Le operazioni di scrittura vengono disabilitate durante l'aggiornamento dell'account. Le operazioni di lettura non sono disabilitate, ma è consigliabile sospendere le operazioni di lettura, perché tali operazioni potrebbero destabilizzare il processo di aggiornamento.

Impatto su carichi di lavoro e applicazioni

Le API BLOB funzionano con gli account con uno spazio dei nomi gerarchico, quindi la maggior parte delle applicazioni che interagiscono con l'account usando queste API continuano a funzionare senza modifiche.

Per un elenco completo dei problemi e delle soluzioni alternative, vedere Problemi noti con le API di archiviazione BLOB.

Tutti i carichi di lavoro Hadoop che usano il driver BLOB di Windows Archiviazione di Azure (WASB), devono essere modificati per usare il driver ABFS (Blob File System) di Azure. A differenza del driver WASB che effettua richieste all'endpoint del servizio BLOB, il driver ABFS effettuerà richieste all'endpoint di Data Lake Storage dell'account.

Endpoint di Data Lake Storage

L'account aggiornato avrà un endpoint di Data Lake Storage. È possibile trovare l'URL di questo endpoint nella portale di Azure aprendo la pagina Proprietà dell'account.

Categoria utilizzo generico v2

Non è necessario modificare le applicazioni e i carichi di lavoro esistenti per usare tale endpoint. L'accesso multiprotocol in Data Lake Storage consente di usare l'endpoint del servizio BLOB o l'endpoint di Data Lake Storage per interagire con i dati.

I servizi e gli strumenti di Azure, ad esempio AzCopy, possono usare l'endpoint di Archiviazione Data Lake per interagire con i dati nell'account di archiviazione. È anche necessario usare questo nuovo endpoint per tutte le operazioni eseguite usando gli SDK di Data Lake Storage, i comandi di PowerShell o l'interfaccia della riga di comando di Azure.

Directories

Un account di archiviazione BLOB che non dispone di uno spazio dei nomi gerarchico organizza i file in un paradigma flat, anziché in un paradigma gerarchico. I BLOB sono organizzati in directory virtuali per simulare una struttura di cartelle. Una directory virtuale costituisce parte del nome del BLOB ed è indicata dal carattere di delimitazione. Poiché una directory virtuale fa parte del nome del BLOB, non esiste effettivamente come oggetto indipendente.

Il nuovo account ha uno spazio dei nomi gerarchico. Ciò significa che le directory non sono virtuali. Sono oggetti concreti e indipendenti su cui è possibile operare direttamente. Una directory può esistere senza contenere alcun file. Quando si elimina una directory, tutti i file in tale directory vengono rimossi. Non è più necessario eliminare ogni singolo BLOB prima che la directory scompaia.

Metadati BLOB

Prima della migrazione, i metadati BLOB sono associati al nome del BLOB insieme all'intero percorso virtuale. Dopo la migrazione, i metadati vengono associati solo al BLOB. Il percorso virtuale del BLOB diventa una raccolta di directory. I metadati di un BLOB non vengono applicati ad alcuna di queste directory.

Operazioni Put

Quando si carica un BLOB e il percorso specificato include una directory che non esiste, l'operazione crea tale directory e quindi aggiunge il BLOB. Questo comportamento è logico nel contesto di una struttura di cartelle gerarchica. In un account di archiviazione BLOB che non dispone di uno spazio dei nomi gerarchico, l'operazione non crea una directory. Al contrario, il nome della directory viene aggiunto al nome del BLOB.

Elencare le operazioni

Un'operazione List BLOBs restituisce sia directory che file. Ogni oggetto viene elencato separatamente. Le directory vengono visualizzate nell'elenco come BLOB di lunghezza zero. In un account di archiviazione BLOB che non dispone di uno spazio dei nomi gerarchico, un'operazione List BLOBs restituisce solo BLOB e non directory. Se si usa l'operazione Percorso data Lake Storage - Elenco , le directory verranno visualizzate come voci di directory e non come BLOB di lunghezza zero.

Anche l'ordine di elenco è diverso. Le directory e i file vengono visualizzati in ordine di ricerca approfondito. Un account di archiviazione BLOB che non dispone di uno spazio dei nomi gerarchico elenca i BLOB in ordine lessicografico .

Operazioni per rinominare i BLOB

La ridenominazione di un BLOB è molto più efficiente perché le applicazioni client possono rinominare un BLOB in una singola operazione. Negli account che non hanno uno spazio dei nomi gerarchico, gli strumenti e le applicazioni devono copiare un BLOB e quindi eliminare il BLOB di origine.

Nota

Quando si rinomina un BLOB, l'ora dell'ultima modifica del BLOB non viene aggiornata. Ciò è dovuto al fatto che il contenuto del BLOB rimane invariato.

Impatto sui costi

Non è previsto alcun costo per eseguire l'aggiornamento. Dopo l'aggiornamento, il costo per archiviare i dati non cambia, ma il costo di una transazione cambia. Usare queste pagine per valutare i costi di confronto.

È anche possibile usare l'opzione Account di archiviazione nel Calcolatore prezzi di Azure per stimare l'impatto dei costi dopo un aggiornamento.

Oltre alle modifiche ai prezzi, prendere in considerazione i risparmi sui costi associati alle funzionalità di Data Lake Storage. Il totale complessivo dei costi di proprietà in genere diminuisce a causa di una maggiore velocità effettiva e di operazioni ottimizzate. Una velocità effettiva più elevata consente di trasferire più dati in meno tempo. Uno spazio dei nomi gerarchico migliora l'efficienza delle operazioni.

Impatto sulle integrazioni dei servizi

Anche se la maggior parte delle integrazioni dei servizi di Azure continuerà a funzionare dopo aver abilitato queste funzionalità, alcune di esse rimangono in anteprima o non sono ancora supportate. Vedere Servizi di Azure che supportano Azure Data Lake Storage per comprendere il supporto corrente per le integrazioni dei servizi di Azure con Data Lake Storage.

Impatto su strumenti, funzionalità e documentazione

Dopo l'aggiornamento, il modo in cui si interagisce con alcune funzionalità cambierà. In questa sezione vengono descritte le modifiche.

Supporto della funzionalità di archiviazione BLOB

Anche se la maggior parte delle funzionalità di archiviazione BLOB continuerà a funzionare dopo aver abilitato queste funzionalità, alcune di esse rimangono in anteprima o non sono ancora supportate.

Per informazioni sul supporto corrente per le funzionalità di archiviazione BLOB con Data Lake Storage, vedere Funzionalità di archiviazione BLOB disponibili in Azure Data Lake Storage .

Log di diagnostica

Se si abilita la registrazione di Analisi archiviazione, è ora possibile usare il formato di log versione 2.0.

Non è necessario usare questa nuova versione. Tuttavia, tutte le operazioni applicate all'endpoint di Data Lake Storage vengono registrate solo nei log della versione 2.0. Alcuni servizi e strumenti usati, ad esempio AzCopy, useranno tale endpoint per eseguire operazioni sull'account. Per assicurarsi di acquisire informazioni di registrazione da tutte le attività, è consigliabile usare il formato di log versione 2.0.

Gestione del ciclo di vita di Azure

Spiega in modo efficace che i criteri per lo spostamento o l'eliminazione di tutti i BLOB in una directory non elimineranno la directory stessa finché non vengono rimossi tutti i BLOB all'interno di esso e la directory verrà rimossa il giorno successivo.

Griglia di eventi

Il nuovo account ha due endpoint: l'endpoint di Data Lake Storage e l'endpoint del servizio BLOB. Servizi, strumenti e applicazioni possono usare entrambi gli endpoint per operare sui dati. Di conseguenza, una risposta di evento restituita da Griglia di eventi può visualizzare uno di questi due endpoint nel campo URL che descrive il BLOB interessato.

Il codice JSON seguente mostra l'URL di un BLOB visualizzato nella risposta all'evento quando viene creato un BLOB usando l'endpoint del servizio BLOB.

{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/test-container/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "PutBlockList",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "text/plain",
    "contentLength": 524288,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
    "sequencer": "00000000000004420000000000028963",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "",
  "metadataVersion": "1"
}

Il codice JSON seguente mostra l'URL di un BLOB visualizzato nella risposta all'evento quando viene creato un BLOB usando l'endpoint di Data Lake Storage.

{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "CreateFile",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "text/plain",
    "contentLength": 0,
    "contentOffset": 0,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/new-file.txt",
    "sequencer": "00000000000004420000000000028963",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "2",
  "metadataVersion": "1"
}

Se le applicazioni usano Griglia di eventi, potrebbe essere necessario modificare tali applicazioni in modo da tener conto di questa situazione.

Storage Explorer

I pulsanti seguenti non vengono ancora visualizzati nella barra multifunzione di Archiviazione di Azure Explorer:

Pulsante Motivo
Copia URL Non ancora implementato
Gestire gli snapshot Non ancora implementato
Undelete Dipende dalle funzionalità di archiviazione BLOB non ancora supportate con Data Lake Storage

I pulsanti seguenti si comportano in modo diverso nel nuovo account.

Pulsante Comportamento dell'archiviazione BLOB Comportamento di Data Lake Storage
Cartella La cartella è virtuale e scompare se non si aggiungono file. La cartella esiste anche senza file aggiunti.
Rinomina Restituisce una copia e quindi un'eliminazione del BLOB di origine Rinomina lo stesso BLOB. Molto più efficiente.

Documentazione

Per indicazioni sull'uso delle funzionalità di Data Lake Storage, vedere Introduzione ad Azure Data Lake Storage.

Nulla è cambiato rispetto al punto in cui si trovano le linee guida per tutte le funzionalità di archiviazione BLOB esistenti. Questo materiale sussidiario è disponibile qui: Introduzione all'archiviazione BLOB di Azure.

Quando si passa da un set di contenuto all'altro, si noteranno alcune lievi differenze di terminologia. Ad esempio, il contenuto incluso nel contenuto di Data Lake Storage potrebbe usare il termine file e file system anziché BLOB e contenitore. I termini file e file system sono profondamente radicati nel mondo dell'analisi dei Big Data in cui Data Lake Storage ha avuto una lunga storia. Il contenuto contiene questi termini per mantenerlo adattabile a questi destinatari. Questi termini non descrivono elementi separati.

Passaggi successivi

Quando si è pronti per aggiornare l'account di archiviazione per includere le funzionalità di Data Lake Storage, vedere questa guida dettagliata.