Spazio dei nomi gerarchico di Azure Data Lake Storage
Un meccanismo chiave che consente ad Azure Data Lake Storage di offrire prestazioni del file system a livello di archiviazione oggetti e prezzi è l'aggiunta di uno spazio dei nomi gerarchico. Consente la raccolta di oggetti o file all'interno di un account per organizzarli in una gerarchia di directory e sottodirectory annidate allo stesso modo in cui sono organizzate nel file system o sul computer. Con uno spazio dei nomi gerarchico abilitato, un account di archiviazione può offrire scalabilità ed efficacia nell'archiviazione di oggetti, con la semantica del file system già nota ai motori e ai framework di analisi.
Vantaggi di uno spazio dei nomi gerarchico
I file system che implementano uno spazio dei nomi gerarchico per i dati BLOB godono dei seguenti vantaggi:
Modifica della directory atomica: gli archivi di oggetti simulano una gerarchia di directory adottando una convenzione che prevede l'inserimento di barre (/) nel nome oggetto per indicare i segmenti di tracciato. Quando questa convenzione viene usata per organizzare gli oggetti, non prevede alcuna assistenza per le azioni quali lo spostamento, la ridenominazione o l'eliminazione di directory. Senza directory reali, le applicazioni devono elaborare potenzialmente milioni di singoli BLOB per offrire attività a livello di directory. Al contrario, uno spazio dei nomi gerarchico elabora queste attività aggiornando una singola voce (la directory padre).
Questa ottimizzazione significativa è particolarmente importante per molti framework di analisi dei Big Data. Strumenti quali Hive, Spark e altri ancora scrivono spesso l'output su percorsi temporanei, per poi rinominare il percorso al termine del processo. Senza uno spazio dei nomi gerarchico, la ridenominazione può spesso richiedere più tempo del processo di analisi stesso. Una latenza di processo più bassa implica una riduzione del costo totale di proprietà (TCO) per i carichi di lavoro analitici.
Stile dell'interfaccia familiare: i file system sono ben noti a sviluppatori e utenti. Non è necessario apprendere un nuovo paradigma di archiviazione quando si passa al cloud perché l'interfaccia del file system esposta da Data Lake Storage è lo stesso paradigma usato dai computer, grandi e piccoli.
Uno dei motivi per cui gli archivi di oggetti non hanno tradizionalmente mai supportato gli spazi dei nomi gerarchici è perché questi ultimi limitano la scalabilità. Tuttavia, lo spazio dei nomi gerarchico di Data Lake Storage viene ridimensionato in modo lineare e non riduce la capacità o le prestazioni dei dati.
Decidere se abilitare uno spazio dei nomi gerarchico
Dopo aver abilitato uno spazio dei nomi gerarchico nell'account, non è possibile ripristinarlo in uno spazio dei nomi flat. Valutare pertanto se è opportuno abilitare uno spazio dei nomi gerarchico in base alla natura dei carichi di lavoro dell'archivio oggetti. Per valutare l'impatto dell'abilitazione di uno spazio dei nomi gerarchico su carichi di lavoro, applicazioni, costi, integrazioni di servizi, strumenti, funzionalità e documentazione, vedere Aggiornamento di Archiviazione BLOB di Azure con le funzionalità di Azure Data Lake Storage.
Alcuni carichi di lavoro potrebbero non ottenere alcun vantaggio abilitando uno spazio dei nomi gerarchico. come nel caso di backup, archiviazione di immagini e altre applicazioni in cui l'organizzazione di oggetti è archiviata separatamente dagli oggetti stessi (ad esempio, in un database separato).
Inoltre, mentre il supporto per le funzionalità di archiviazione BLOB e l'ecosistema di servizi di Azure continuano a crescere, esistono ancora alcune funzionalità e servizi di Azure non ancora supportati negli account con uno spazio dei nomi gerarchico. Vedere Problemi noti.
In generale, è consigliabile attivare uno spazio dei nomi gerarchico per i carichi di lavoro di archiviazione progettati per i file system che modificano le directory. Sono inclusi tutti i carichi di lavoro destinati principalmente all'elaborazione analitica. I set di dati che richiedono un livello elevato di organizzazione trarranno vantaggio anche dall'abilitazione di uno spazio dei nomi gerarchico.
I motivi per abilitare uno spazio dei nomi gerarchico sono determinati da un'analisi TCO. In generale, i miglioramenti in termini di latenza di carico di lavoro dovuti a un'accelerazione dell'archiviazione richiederanno risorse di calcolo per un tempo inferiore. La latenza per molti carichi di lavoro può essere migliorata a causa della manipolazione atomica della directory abilitata da uno spazio dei nomi gerarchico. In molti carichi di lavoro, la risorsa di calcolo rappresenta > l'85% del costo totale e quindi anche una riduzione modesta della latenza del carico di lavoro equivale a una notevole quantità di risparmi TCO. Anche nei casi in cui l'abilitazione di uno spazio dei nomi gerarchico aumenta i costi di archiviazione, il TCO è ancora ridotto a causa di costi di calcolo ridotti.
Per analizzare le differenze tra i prezzi di archiviazione dei dati, i prezzi delle transazioni e la prenotazione della capacità di archiviazione tra gli account con uno spazio dei nomi gerarchico semplice rispetto a uno spazio dei nomi gerarchico, vedere Prezzi di Azure Data Lake Storage.
Passaggi successivi
- Abilitare uno spazio dei nomi gerarchico quando si crea un nuovo account di archiviazione. Vedere Creare un account di archiviazione da usare con Azure Data Lake Storage.
- Abilitare uno spazio dei nomi gerarchico in un account di archiviazione esistente. Vedere Aggiornare Archiviazione BLOB di Azure con le funzionalità di Azure Data Lake Storage.