Spazio dei nomi gerarchico

Lo spazio dei nomi gerarchico è una funzionalità offerta da Cloud Storage che ti consente di organizzare gli oggetti in cartelle e archiviare i dati in una struttura di file system logica, semplificando le attività di gestione dei dati. Lo spazio dei nomi gerarchico fornisce la semantica delle directory ad alte prestazioni e le operazioni atomiche sulle cartelle necessarie per accelerare i workload di analisi e AI/ML con uso intensivo dei dati.

Questa pagina fornisce una panoramica dello spazio dei nomi gerarchico e dei suoi casi d'uso, incluse le sue funzionalità, i vantaggi e le limitazioni.

Come funziona

Per utilizzare le cartelle in un bucket, devi attivare lo spazio dei nomi gerarchico quando crei il bucket. L'impostazione dello spazio dei nomi gerarchico del bucket non può essere modificata dopo la creazione del bucket. Per informazioni sull'attivazione dello spazio dei nomi gerarchico per il tuo bucket, consulta Crea e gestisci i bucket con lo spazio dei nomi gerarchico attivato.

Il seguente diagramma mostra un esempio di bucket con spazio dei nomi gerarchico abilitato in cui gli oggetti sono organizzati in una struttura gerarchica di cartelle. Una cartella in un bucket con spazio dei nomi gerarchico abilitato può contenere sia oggetti sia cartelle secondarie.

Figura 1. Gerarchia dei bucket con cartelle e oggetti.
Figura 1. Gerarchia dei bucket con cartelle e oggetti.

Funzionalità e vantaggi

Lo spazio dei nomi gerarchico offre le seguenti funzionalità e vantaggi:

  • Query al secondo (QPS) iniziali più elevate: i bucket con lo spazio dei nomi gerarchico abilitato offrono limiti di QPS iniziali fino a 8 volte superiori per la lettura e la scrittura di oggetti rispetto ai bucket senza lo spazio dei nomi gerarchico abilitato. Il valore QPS iniziale più elevato semplifica la scalabilità dei workload che richiedono un uso intensivo dei dati e offre un throughput migliorato. Per informazioni sui metodi di ottimizzazione delle prestazioni durante l'utilizzo delle cartelle nei bucket con lo spazio dei nomi gerarchico abilitato, consulta Gestione delle cartelle.

  • Possibilità di utilizzare le cartelle: le cartelle fungono da container per oggetti e cartelle secondarie, consentendo una vera e propria struttura di directory all'interno dei bucket Cloud Storage. L'archiviazione dei dati in una struttura di cartelle migliora le prestazioni, garantisce la coerenza e semplifica la gestione dei workload ad alta intensità di dati e orientati ai file.

    Le operazioni sulle cartelle offrono funzionalità di affidabilità e gestione, tra cui la creazione, l'elenco, l'eliminazione e la ridenominazione atomica.

    • Ridenominazione delle cartelle: l'operazione di ridenominazione delle cartelle consente di rinominare in modo atomico il percorso di una cartella e delle relative cartelle sottostanti senza eliminare alcun oggetto. Questa tecnica è efficiente e consente di risparmiare tempo, soprattutto per le cartelle di grandi dimensioni con più oggetti.

    • Elenco delle cartelle: l'operazione di elenco delle cartelle elenca tutte le cartelle nel bucket o in una cartella specifica, aiutandoti a gestire e comprendere la struttura dei dati archiviati.

Quando utilizzare lo spazio dei nomi gerarchico?

Ti consigliamo di attivare lo spazio dei nomi gerarchico quando utilizzi applicazioni che prevedono una gerarchia e una semantica del file system. Lo spazio dei nomi gerarchico è utile per attività con uso intensivo di dati, come i workload di analisi e AI/ML. Ecco alcuni scenari comuni in cui dovresti prendere in considerazione l'utilizzo dello spazio dei nomi gerarchico:

  • Elaborazione basata su Hadoop: i workload Hadoop e Spark tradizionalmente prevedono una struttura di archiviazione del file system e una denominazione basata sul tempo per file e cartelle. Lo spazio dei nomi gerarchico si integra con il connettore Cloud Storage per fornire un throughput migliorato e ridenominazioni atomiche delle cartelle, migliorando l'integrità e la coerenza dei dati per molte pipeline di trattamento dati.

  • Elaborazione di workload orientati ai file: i workload come l'elaborazione di analisi batch, i servizi finanziari o il computing ad alte prestazioni sono strutturati in partizioni basate su una gerarchia di cartelle e file. Lo spazio dei nomi gerarchico consente di gestire questi ambienti con un'API dedicata per la gestione delle cartelle. Inoltre, lo spazio dei nomi gerarchico semplifica la gestione delle cartelle che contengono altre cartelle e oggetti. Con un singolo comando API, puoi rinominare rapidamente una cartella e tutti i suoi contenuti, risparmiando tempo e risorse preziosi.

  • Elaborazione AI/ML: gli strumenti AI/ML come TensorFlow, Pandas e PyTorch prevedono il controllo dell'accesso e la semantica del file system. Lo spazio dei nomi gerarchico, soprattutto se combinato con Cloud Storage FUSE, offre un throughput maggiore e un accesso ai dati efficiente. Di conseguenza, lo spazio dei nomi gerarchico migliora le prestazioni e l'affidabilità dell'iterazione del modello ML.

Prima di abilitare lo spazio dei nomi gerarchico per il bucket, devi considerare le limitazioni dello spazio dei nomi gerarchico. Per informazioni sulle limitazioni dello spazio dei nomi gerarchico, consulta Limitazioni.

Vantaggi dello spazio dei nomi gerarchico

Quando abiliti lo spazio dei nomi gerarchico per i bucket, puoi eseguire le seguenti operazioni:

  • Ottimizza l'organizzazione: puoi organizzare i dati in una struttura di cartelle gerarchica, che ti aiuta a gestire e individuare file o set di dati.

  • Crea un ecosistema di file system: lo spazio dei nomi gerarchico introduce funzionalità del file system come cartelle, ridenominazione delle cartelle ed elenco delle cartelle, utili per le applicazioni orientate ai file, tra cui l'ecosistema Hadoop e i workload AI/ML.

  • Miglioramento delle prestazioni: scalando i workload ad alta intensità di dati per gestire un throughput più elevato, puoi migliorare le prestazioni complessive della tua applicazione.

Supporto piattaforme

I bucket con spazio dei nomi gerarchico supportano le seguenti funzionalità della piattaforma Cloud Storage:

  • Tutte le API degli oggetti Cloud Storage e le funzionalità di Cloud Storage più utilizzate. Per i dettagli sulle funzionalità non supportate, consulta Limitazioni.

  • Trasferimento di dati da un bucket standard a un bucket con namespace gerarchico utilizzando Storage Transfer Service.

  • Integrazione con i seguenti prodotti:

Compatibilità con le operazioni e le funzionalità di Cloud Storage

I bucket con spazio dei nomi gerarchico abilitato interagiscono con le operazioni di Cloud Storage in modo diverso rispetto ai bucket senza spazio dei nomi gerarchico.

Interazioni con le operazioni sugli oggetti

I bucket con spazio dei nomi gerarchico abilitato gestiscono le operazioni sugli oggetti nei seguenti modi:

  • Operazioni come Upload, Rewrite e Compose creano automaticamente le cartelle principali mancanti, a condizione che tu disponga delle autorizzazioni necessarie. Di conseguenza, non è necessario creare cartelle prima di caricare gli oggetti.
  • Sebbene le cartelle possano essere create automaticamente durante le operazioni sugli oggetti, devi eliminarle esplicitamente utilizzando l'operazione DeleteFolder.
  • Quando utilizzi l'operazione ListObjects con il parametro delimiter, i bucket restituiscono ogni cartella secondaria come prefix.. Tuttavia, le cartelle vuote vengono escluse per impostazione predefinita. Per includere cartelle vuote, come in un tipico elenco di file system, devi impostare il parametro includeFoldersAsPrefixes. Per informazioni sui metodi di ottimizzazione delle prestazioni durante l'elenco degli oggetti nei bucket con spazio dei nomi gerarchico abilitato, consulta Elenco degli oggetti.

Interazioni con le operazioni sui bucket

Le sezioni seguenti descrivono come vengono gestite le operazioni sui bucket quando lo spazio dei nomi gerarchico è abilitato.

  • Puoi elencare tutti i bucket con lo spazio dei nomi gerarchico abilitato, indipendentemente dal layout di archiviazione. Il layout di archiviazione di un bucket descrive il modo in cui gli oggetti sono disposti all'interno di un bucket, in uno spazio dei nomi piatto o in uno spazio dei nomi gerarchico. Per istruzioni su come visualizzare il layout di archiviazione di un bucket, consulta Recupera il layout di archiviazione di un bucket. Per elencare tutti i bucket, segui le istruzioni dettagliate in Elenca i bucket.

  • Puoi eliminare i bucket con lo spazio dei nomi gerarchico abilitato, purché il bucket sia vuoto. I bucket vuoti non contengono oggetti o cartelle gestite. I bucket vuoti possono contenere cartelle vuote (senza oggetti all'interno).

Interazioni con le operazioni di Gestione del ciclo di vita degli oggetti

La gestione del ciclo di vita degli oggetti consente di automatizzare le azioni sugli oggetti in base a condizioni, come l'età o il prefisso. Tuttavia, le regole di Gestione del ciclo di vita degli oggetti possono comportarsi in modo diverso nei bucket con spazio dei nomi gerarchico e nei bucket con spazio dei nomi piatto a causa dell'operazione RenameFolder:

  • Regole di Gestione del ciclo di vita degli oggetti per i bucket con uno spazio dei nomi piatto: l'operazione di ridenominazione prevede la ridenominazione di ogni oggetto utilizzando strumenti per copiare ogni oggetto in una posizione di destinazione ed eliminare l'oggetto originale dalla posizione di origine. Di conseguenza, i nuovi oggetti vengono creati con nuovi orari di creazione nella località di destinazione. Se alla località di destinazione vengono applicate regole di gestione del ciclo di vita degli oggetti basate sull'età, queste non verranno applicate immediatamente ai nuovi oggetti, poiché i relativi tempi di creazione vengono reimpostati.

  • Regole di Gestione del ciclo di vita degli oggetti per i bucket con spazio dei nomi gerarchico abilitato: la ridenominazione di una cartella opera a livello di cartella, senza dover rinominare ogni singolo oggetto. Di conseguenza, la data e l'ora di creazione degli oggetti vengono conservate, il che significa che le regole di Gestione del ciclo di vita degli oggetti basate sull'età vengono applicate immediatamente agli oggetti rinominati se soddisfano i criteri di età.

Controllo degli accessi per le cartelle con cartelle gestite associate

In Cloud Storage, una cartella è la directory effettiva che contiene i tuoi dati, mentre una cartella gestita è una risorsa separata e specializzata utilizzata per applicare le autorizzazioni IAM alla directory. Per controllare l'accesso a una cartella e alle risorse al suo interno, devi creare una cartella gestita associata e impostare le policy IAM sulla cartella gestita associata. Una cartella gestita associata è una cartella gestita che ha lo stesso nome e lo stesso percorso della cartella effettiva.

La cartella gestita associata funge da livello amministrativo sulla directory creata dalla cartella, il che significa che una cartella e la cartella gestita associata sono indissolubilmente collegate. Ad esempio, se elimini una cartella con una cartella gestita associata, viene eliminata anche quest'ultima insieme alle relative policy IAM. Per maggiori dettagli su come le operazioni sulle cartelle influiscono sulle cartelle gestite associate, consulta Interazioni tra le cartelle e le cartelle gestite associate.

Denominazione delle cartelle con cartelle gestite associate

Quando crei cartelle con cartelle gestite associate, si applicano sia le regole di denominazione delle cartelle sia le regole di denominazione delle cartelle gestite. I nomi delle cartelle possono essere nidificati fino a 50 livelli, ma i nomi delle cartelle gestite possono essere nidificati solo fino a 15 livelli. La dimensione massima del nome di una cartella gestita è 512 byte se codificata in UTF-8. Ciò significa che se prevedi di creare una cartella e una cartella gestita associata, la cartella può avere solo 15 cartelle secondarie impilate e la dimensione massima del nome è di 512 byte se codificata in UTF-8.

Prezzi

Per informazioni sui prezzi, consulta la pagina Prezzi di Cloud Storage.

Limitazioni

Di seguito sono riportate le limitazioni dello spazio dei nomi gerarchico:

  • Devi scegliere se utilizzare o meno lo spazio dei nomi gerarchico quando crei il bucket. L'impostazione dello spazio dei nomi gerarchico del bucket non può essere modificata dopo la creazione del bucket.

  • Per abilitare lo spazio dei nomi gerarchico, un bucket deve abilitare anche l' accesso uniforme a livello di bucket.

  • Nei bucket con spazio dei nomi gerarchico abilitato, la dimensione massima del nome di un oggetto è di 1024 byte se codificato in UTF-8, dove il segmento del nome della cartella e il segmento del nome di base hanno ciascuno un limite di 512 byte se codificati in UTF-8. Nei bucket con spazio dei nomi piatto, i nomi degli oggetti non contengono segmenti di nomi di cartelle e hanno un limite di 1024 byte se codificati in UTF-8. Per saperne di più sui limiti dei nomi degli oggetti, consulta Informazioni sugli oggetti.

  • I nomi delle cartelle possono essere nidificati fino a 50 livelli di profondità (o 15 livelli di profondità se alla cartella è associata una cartella gestita).

  • Le seguenti funzionalità di Cloud Storage non sono supportate per i bucket che utilizzano lo spazio dei nomi gerarchico:

    • Blocco bucket
    • Rilocalizzazioni dei bucket con tempo di inattività in scrittura
    • Replica tra bucket
    • Blocchi degli oggetti
    • Elenchi di controllo dell'accesso (ACL) a livello di oggetto
    • Blocco della conservazione degli oggetti
    • Controllo delle versioni degli oggetti

Passaggi successivi