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 sulle cartelle atomiche necessarie per accelerare i carichi di lavoro di analisi e AI/ML con uso intensivo dei dati.

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

Come funziona

Per utilizzare le cartelle in un bucket, devi abilitare 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 su come abilitare lo spazio dei nomi gerarchico per il bucket, consulta Creare e gestire bucket con lo spazio dei nomi gerarchico abilitato.

Il seguente diagramma mostra un esempio di un bucket con lo spazio dei nomi gerarchico abilitato in cui gli oggetti sono organizzati in una struttura gerarchica di cartelle. Una cartella in un bucket con lo 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 i seguenti vantaggi:

  • Query al secondo (QPS) iniziali più elevate: i bucket con lo spazio dei nomi gerarchico abilitato offrono limiti QPS iniziali fino a 8 volte superiori per la lettura e la scrittura degli oggetti rispetto ai bucket senza lo spazio dei nomi gerarchico abilitato. Il QPS iniziale più elevato semplifica la scalabilità dei carichi di lavoro con uso intensivo dei dati e fornisce una velocità effettiva migliorata. Per informazioni sui metodi di ottimizzazione del rendimento 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 gli oggetti e le cartelle secondarie, consentendo una struttura di directory reale all'interno dei bucket Cloud Storage. L'archiviazione dei dati in una struttura di cartelle migliora il rendimento, garantisce la coerenza e semplifica la gestione dei carichi di lavoro con uso intensivo dei dati e orientati ai file.

    Le operazioni sulle cartelle forniscono 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 è consigliabile utilizzare lo spazio dei nomi gerarchico?

Ti consigliamo di abilitare lo spazio dei nomi gerarchico quando lavori con applicazioni che prevedono una gerarchia e una semantica del file system. Lo spazio dei nomi gerarchico è utile per le attività con uso intensivo dei dati, come i carichi di lavoro di analisi e AI/ML. Ecco alcuni scenari comuni in cui ti consigliamo di utilizzare lo spazio dei nomi gerarchico:

  • Elaborazione basata su Hadoop: i carichi di lavoro Hadoop e Spark prevedono tradizionalmente 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 una velocità effettiva migliorata e ridenominazioni atomiche delle cartelle, migliorando l'integrità e la coerenza dei dati per molte pipeline di elaborazione dei dati.

  • Elaborazione di carichi di lavoro orientati ai file: i carichi di lavoro 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 insieme a tutti i relativi contenuti, risparmiando tempo e risorse preziosi.

  • Elaborazione AI/ML: gli strumenti di 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 una velocità effettiva maggiore e un accesso efficiente ai dati. Di conseguenza, lo spazio dei nomi gerarchico migliora il rendimento e l'affidabilità dell'iterazione del modello ML.

Prima di abilitare lo spazio dei nomi gerarchico per il bucket, devi tenere presente 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:

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

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

  • Migliorare il rendimento: scalando i carichi di lavoro con uso intensivo dei dati per gestire una velocità effettiva maggiore, puoi migliorare il rendimento complessivo dell' applicazione.

Supporto piattaforme

I bucket con lo 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 dettagli sulle funzionalità non supportate, consulta Limitazioni.

  • Trasferimento di dati da un bucket standard a un bucket con lo spazio dei nomi gerarchico utilizzando Storage Transfer Service.

  • Integrazione con i seguenti prodotti:

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

I bucket con lo 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 lo spazio dei nomi gerarchico abilitato gestiscono le operazioni sugli oggetti in questi 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 le cartelle prima di caricare gli oggetti.
  • Sebbene le cartelle possano essere create automaticamente durante le operazioni sugli oggetti, tu devi eliminarle in modo esplicito 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 le cartelle vuote, in modo simile a un elenco di file system tipico, devi impostare il parametro includeFoldersAsPrefixes. Per informazioni sui metodi di ottimizzazione del rendimento durante l'elenco degli oggetti nei bucket con lo spazio dei nomi gerarchico abilitato, consulta Elencare gli 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 la disposizione degli oggetti 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 Visualizzare il layout di archiviazione di un bucket. Per elencare tutti i bucket, segui le istruzioni riportate in Elencare i bucket.

  • Puoi eliminare i bucket con lo spazio dei nomi gerarchico abilitato a condizione che 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

Gestione del ciclo di vita degli oggetti consente di automatizzare le azioni sugli oggetti in base a condizioni, ad esempio età o 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 gli strumenti copiando ogni oggetto in una località di destinazione ed eliminando l'oggetto originale dalla località di origine. Di conseguenza, nella località di destinazione vengono creati nuovi oggetti con nuovi orari di creazione. Se vengono applicate regole di Gestione del ciclo di vita degli oggetti basate sull'età per la località di destinazione, non verranno applicate immediatamente ai nuovi oggetti perché i relativi orari di creazione vengono reimpostati.

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

Controllo dell'accesso per le cartelle con cartelle gestite associate

In Cloud Storage, una cartella è la directory effettiva che contiene i 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, crea una cartella gestita associata e imposta i criteri IAM sulla cartella gestita associata. Una cartella gestita associata è una cartella gestita che ha lo stesso nome e 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 relativa cartella gestita associata sono indissolubilmente collegate. Ad esempio, se elimini una cartella con una cartella gestita associata, anche la cartella gestita associata viene eliminata insieme ai relativi criteri IAM. Per dettagli su come le operazioni sulle cartelle influincono sulle cartelle gestite associate, consulta Interazioni tra cartelle e cartelle gestite associate.

Denominazione delle cartelle con cartelle gestite associate

Quando crei cartelle con cartelle gestite associate, vengono applicate 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 per un nome di cartella gestita è di 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 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 anche abilitare l' accesso uniforme a livello di bucket.

  • Nei bucket con lo spazio dei nomi gerarchico abilitato, la dimensione massima del nome di un oggetto è di 1024 byte se codificata 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 (o 15 livelli se la cartella ha una cartella gestita associata).

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

    • Blocco bucket
    • Spostamenti dei bucket con tempi 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

Provalo

Se non conosci Google Cloud, crea un account per valutare le prestazioni di Cloud Storage in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.

Prova Cloud Storage senza costi