Rapid Bucket

Questa pagina descrive Rapid Bucket, una funzionalità che consente di archiviare gli oggetti nella classe di archiviazione Rapid impostando una zona come località del bucket. Questo approccio ti consente di collocare il tuo datastore insieme alle risorse di calcolo, il che offre una latenza significativamente inferiore e un throughput più elevato rispetto ad altre classi di archiviazione in Cloud Storage. Anche i workload in altre zone e regioni possono accedere al bucket, con prestazioni relative alla distanza di rete.

Per creare un bucket di zona utilizzando Rapid Bucket, consulta Crea bucket di zona. Puoi visualizzare l'elenco delle località supportate in Zone. Per leggere e aggiungere dati agli oggetti nei bucket a livello di zona, consulta Utilizza gli oggetti nei bucket a livello di zona.

Per abilitare Rapid Bucket su un bucket, quest'ultimo deve avere abilitati anche lo spazio dei nomi gerarchico e l'accesso uniforme a livello di bucket.

Funzionalità e vantaggi

Rapid Bucket è progettato per rimuovere i colli di bottiglia dello spazio di archiviazione ed è ideale per le applicazioni con un uso intensivo di dati, come AI/ML e analisi dei dati. Rapid Bucket supporta una latenza inferiore al millisecondo, un throughput aggregato fino a 15 TB/s e 20 milioni di query al secondo (QPS). La latenza ultra bassa consente il recupero istantaneo dei dati e permette alle applicazioni di inferenza in tempo reale di funzionare su larga scala. La velocità effettiva elevata e le QPS alte aiutano a mantenere i cluster GPU costosi completamente saturi, riducendo drasticamente i tempi di addestramento del modello.

Oltre a fornire bassa latenza e throughput elevato, i bucket di zona ti consentono di:

  • Aggiungere dati agli oggetti nel bucket a livello di zona senza eseguire una riscrittura completa degli oggetti

  • Aprire oggetti e mantenere uno stream durante l'esecuzione delle operazioni, consentendoti di accelerare le letture e le scritture successive

Casi d'uso

Rapid Bucket è più adatto per i workload di AI/ML o altri workload ad alta intensità di dati. Alcuni esempi di questi workload sono il checkpointing, la valutazione e la pubblicazione dei modelli, nonché il logging e le code di messaggistica. Può essere utilizzato anche per i dati in streaming o per fornire spazio di archiviazione per i database.

Per sfruttare appieno la bassa latenza e il throughput elevato forniti da Rapid Bucket, assicurati di attivare la connettività diretta gRPC.

Terminologia di Rapid Bucket

La documentazione di Cloud Storage utilizza i seguenti termini:

  • Bucket Rapid: il prodotto che consente di creare bucket con una località a livello di zona e la classe di archiviazione Rapid Storage.

  • Rapid Storage: la classe di archiviazione che offre le prestazioni più elevate per l'accesso ai dati e le operazioni di I/O in Cloud Storage. Quando utilizzi Rapid Bucket, crei un bucket che utilizza Rapid Storage. Per saperne di più su Rapid Storage, consulta Classi di archiviazione.

  • Bucket di zona: un bucket che si trova in una zona. Gli oggetti nei bucket a livello di zona vengono sempre archiviati in Rapid Storage e sono aggiungibili.

Accesso agli oggetti nei bucket a livello di zona

Per ottenere i vantaggi in termini di prestazioni di un bucket a livello di zona, assicurati di aprire gli oggetti per lo streaming e di mantenere uno stream mentre esegui operazioni sugli oggetti. Quando stabilisci e mantieni uno stream, puoi eseguire operazioni di lettura o scrittura successive sull'oggetto con una latenza molto bassa. Ad esempio, quando leggi un file Parquet, puoi eseguire sia la lettura iniziale dei metadati del file (il piè di pagina) sia la lettura successiva di righe specifiche all'interno di una singola richiesta. Questo approccio è più efficiente rispetto all'utilizzo di richieste separate per ogni passaggio.

Una volta stabiliti, gli stream di oggetti vengono mantenuti aperti per impostazione predefinita quando accedi agli oggetti dei bucket a livello di zona utilizzando Cloud Storage FUSE o le librerie client di Cloud Storage.

Puoi aprire più stream di lettura in un oggetto da un numero qualsiasi di host. Non esiste un limite al numero di stream di lettura che puoi stabilire per un oggetto.

Aggiunta di oggetti

Puoi aggiungere dati agli oggetti nei bucket a livello di zona. Quando aggiungi elementi agli oggetti, si applicano le seguenti semantiche:

  • Gli oggetti aggiungibili vengono visualizzati nello spazio dei nomi del bucket non appena inizi a scriverli e possono essere letti mentre sono ancora in fase di scrittura.

  • Non esistono limitazioni al numero di aggiunte che puoi apportare a un oggetto o al numero di byte che puoi aggiungere alla volta. Puoi aggiungere dati fino a quando un oggetto non raggiunge la dimensione massima di 5 TiB.

  • Le dimensioni di un oggetto aumenteranno in tempo reale man mano che le nuove aggiunte vengono scritte o scaricate in modo permanente. Quando stabilisci un flusso di lettura, devi prevedere un ritardo minimo nell'aggiornamento delle dimensioni dell'oggetto.

  • Gli oggetti aggiungibili possono avere un solo writer alla volta. Se viene stabilito un nuovo flusso di scrittura per un oggetto che ne ha già uno, Cloud Storage restituisce un errore al flusso originale, che non sarà più autorizzato a scrivere. Il nuovo writer può riprendere l'aggiunta dall'ultimo offset persistente senza altre aggiunte intercalate all'oggetto.

Finalizzazione degli oggetti

Una volta finalizzato un oggetto, non puoi più aggiungervi dati, ma puoi comunque sovrascriverlo con una nuova versione. I metadati di un oggetto finalizzato sono ancora modificabili; ad esempio, è possibile aggiungere nuovi tag e rinominare l'oggetto.

Montaggio dei bucket a livello di zona

Puoi montare e accedere ai bucket a livello di zona utilizzando Cloud Storage FUSE o il driver CSI di Cloud Storage FUSE. Assicurati di utilizzare Cloud Storage FUSE versione 3.7.2 o successive. Per utilizzare il driver CSI di Cloud Storage FUSE, la versione di Google Kubernetes Engine deve essere 1.35.0-gke.3047001 o successiva.

Strumenti supportati

Puoi utilizzare i bucket a livello di zona con la maggior parte degli strumenti per Cloud Storage. Tuttavia, si applicano le seguenti limitazioni:

  • Non puoi scrivere nei bucket a livello di zona utilizzando le API della libreria client standard destinate ai bucket non a livello di zona. Per scrivere nei bucket a livello di zona, devi modificare il codice in modo da utilizzare le API supportate per i bucket a livello di zona. Per scoprire quali API utilizzare, consulta gli esempi di codice per la tua libreria client in Utilizza gli oggetti nei bucket a livello di zona.

  • Puoi leggere gli oggetti nei bucket di zona utilizzando l'API JSON, l'API XML o gRPC, inclusi i metodi di lettura gRPC non bidirezionali come ReadObject.

  • Il supporto per la scrittura nei bucket di zona varia in base all'API:

    • gRPC: quando utilizzi gRPC, puoi scrivere nei bucket di zona solo utilizzando l'API BidiWriteObject. Gli oggetti aggiungibili sono supportati solo dalla chiamata RPC BidiWriteObject in modalità aggiungibile. I metodi di scrittura gRPC non bidirezionali, come WriteObject, non sono supportati per i bucket a livello di zona.

    • API XML: puoi scrivere nei bucket a livello di zona utilizzando l'API XML, ad eccezione dei caricamenti multiparte XML.

    • API JSON: non puoi scrivere nei bucket a livello di zona utilizzando l'API JSON.

  • Rapid Bucket è supportato dalla libreria Python GCSFS versioni 2026.3.0 e successive.

  • Limitazioni di Google Cloud CLI:

    • Versione minima supportata di Google Cloud CLI: la versione minima di gcloud CLI che supporta i bucket a livello di zona è la 553.0.0. Le versioni precedenti non sono compatibili con i bucket a livello di zona. Ti consigliamo di utilizzare l'ultima versione di gcloud CLI per usufruire delle funzionalità e delle correzioni di bug più recenti. I download di oggetti suddivisi e le ottimizzazioni delle prestazioni per i bucket a livello di zona richiedono gcloud CLI versione 583.0.0 o successiva. Per saperne di più, consulta Ottimizza le prestazioni di gcloud CLI per i bucket a livello di zona.

    • Visibilità dei caricamenti incompleti: a differenza dei bucket di altre classi di archiviazione, in cui gli oggetti vengono visualizzati nello spazio dei nomi solo dopo il completamento del caricamento, gli oggetti caricati parzialmente nei bucket a livello di zona sono immediatamente visibili. Se un comando di caricamento di Google Cloud CLI non va a buon fine o viene interrotto, potresti visualizzare oggetti incompleti nel bucket. Puoi comunque riprendere questi caricamenti eseguendo nuovamente il comando.

    • Sovrascritture di oggetti: il comportamento standard di Google Cloud CLI si applica ai bucket di zona: quando sovrascrivi un oggetto, se nella destinazione esiste un file o un oggetto con lo stesso nome, i comandi cp, mv e rsync di Google Cloud CLI lo sovrascrivono per impostazione predefinita. Per evitare sovrascritture, utilizza il flag --no-clobber. Quando utilizzi Google Cloud CLI, l'aggiunta di dati a un oggetto esistente non è supportata; l'intera origine deve essere ricaricata.

    • Finalizzazione degli oggetti: gli oggetti caricati in un bucket a livello di zona utilizzando Google Cloud CLI potrebbero occasionalmente subire un breve ritardo prima che i metadati dell'oggetto vengano sincronizzati completamente. Poiché Cloud Storage utilizza un modello di coerenza finale, il tentativo di scaricare un oggetto immediatamente dopo il caricamento può causare un errore di mancata corrispondenza dell'hash se i metadati non sono ancora aggiornati.

      Se un download non va a buon fine con un errore di mancata corrispondenza dell'hash poco dopo un caricamento, riprova a eseguire il comando. I download vengono completati correttamente o non vanno a buon fine in modo esplicito; i download parziali o danneggiati non si verificano in modo silenzioso.

  • Prestazioni di convalida del checksum: i bucket di zona si basano esclusivamente su CRC32C per la convalida dei dati, consentendo al sistema di eseguire il checksum per chunk e per l'intero caricamento o download. Per impostazione predefinita, Google Cloud CLI utilizza la libreria Python google-crc32c, preinstallata con Google Cloud CLI. Tuttavia, se utilizzi un'installazione di Python non integrata, devi installare esplicitamente la libreria google-crc32c da PyPI. In caso contrario, Google Cloud CLI utilizza il programma binario gcloud-crc32c, il che potrebbe comportare prestazioni più lente per il calcolo del CRC per chunk.

Incompatibilità

I bucket di zona non sono compatibili con i seguenti prodotti e servizi:

  • Caricamento e gestione dei dati

    • Rapid Cache

    • Autoclass

    • Blocco bucket

    • Oggetti compositi

    • Caricamenti multiparte XML

    • Blocchi degli oggetti

    • L'azione SetStorageClass di Gestione del ciclo di vita degli oggetti

    • Blocco della conservazione degli oggetti

    • Rilocalizzazioni dei bucket

    • Caricamenti ripristinabili

    • Riscritture di oggetti

    • Pagamenti a carico del richiedente

  • Metadati

    • Gli oggetti nei bucket di zona non hanno un hash MD5.

    • Le proprietà dei metadati associate a funzionalità e prodotti non supportati non vengono visualizzate nella rappresentazione della risorsa di un bucket a livello di zona o di un oggetto aggiungibile oppure non sono scrivibili. Ad esempio:

      • Le proprietà dei metadati softDeleteTime e hardDeleteTime non vengono visualizzate nella rappresentazione della risorsa Objects perché l'eliminazione temporanea non è supportata per gli oggetti nei bucket a livello di zona.

      • I metadati storageClass degli oggetti nei bucket di zona hanno sempre il valore RAPID e non possono essere riscritti perché i bucket di zona devono sempre utilizzare la classe di archiviazione Rapid Storage.

  • Controllo degli accessi

    • Elenchi di controllo dell'accesso (ACL) a livello di oggetto

    • Configurazioni CORS

    • chiavi di crittografia fornite dal cliente (CSEK)

    • Chiavi HMAC

  • Protezione dei dati e ripristino di emergenza

    • Controllo delle versioni degli oggetti

    • Eliminazione temporanea

    • Replica tra bucket

  • Altri Google Cloud servizi

    • BigQuery

Quote

Ogni zona per progetto ha una quota di capacità di archiviazione predefinita. Ogni zona per progetto ha anche una quota di traffico in uscita predefinita da Cloud Storage ai serviziGoogle . Per visualizzare queste quote, consulta Quote e limiti.

Per scoprire come monitorare l'utilizzo del traffico in uscita dei dati e richiedere più larghezza di banda, consulta Monitoraggio dell'utilizzo della larghezza di banda.

Prezzi

L'utilizzo di Rapid Bucket comporta addebiti per l'archiviazione dei dati, le operazioni e il networking. Per ulteriori informazioni, vedi Prezzi.

Best practice

Per ottimizzare le prestazioni e l'utilizzo delle risorse quando lavori con i bucket a livello di zona, tieni conto delle seguenti best practice:

  • Ottimizza le letture degli oggetti: quando leggi oggetti dai bucket a livello di zona utilizzando gcloud CLI, l'interfaccia a riga di comando applica automaticamente le configurazioni di concorrenza e suddivisione predefinite. Per ottimizzare ulteriormente queste impostazioni per un workload specifico, consulta Ottimizza le prestazioni di gcloud CLI per i bucket di zona.

  • Gestione di file di Cloud Storage FUSE: per ottimizzare le prestazioni quando utilizzi i bucket a livello di zona con Cloud Storage FUSE, mantieni un handle di file aperto per gli oggetti nel bucket a livello di zona montato e utilizzalo per più operazioni. Questa pratica migliora le prestazioni perché Cloud Storage FUSE evita round trip di rete non necessari per letture ripetute.

  • Ottimizza la latenza di scrittura parallela: se gestisci la tua logica di scrittura parallela gRPC, valuta la possibilità di utilizzare un pool di writer pre-aperti con oggetti non finalizzati per spostare la configurazione dello stream fuori dal percorso di scrittura. Un pool di writer pre-aperti apre gli stream di oggetti e crea nuovi oggetti vuoti aggiungibili nel bucket prima che l'applicazione ne abbia bisogno. Per saperne di più, consulta Ottimizza la latenza di scrittura.

Passaggi successivi