Questa pagina descrive Rapid Bucket, una funzionalità che consente di archiviare oggetti nella classe di archiviazione Rapid Storage impostando una zona come posizione del bucket. Questo approccio ti consente di collocare lo spazio di archiviazione dei dati insieme alle risorse di calcolo, il che offre una latenza notevolmente inferiore e un throughput più elevato rispetto ad altre classi di archiviazione in Cloud Storage. Anche i carichi di lavoro 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 oggetti nei bucket di zona, consulta Utilizzare oggetti nei bucket di zona.
Vantaggi
Rapid Bucket è progettato per eliminare i colli di bottiglia dello spazio di archiviazione ed è ideale per le applicazioni con uso intensivo dei 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 molto bassa consente il recupero istantaneo dei dati e permette alle applicazioni di inferenza in tempo reale di funzionare su larga scala. L'elevata velocità effettiva e le QPS elevate contribuiscono a mantenere i costosi cluster GPU completamente saturi, riducendo drasticamente i tempi di addestramento del modello.
Terminologia di Rapid Bucket
La documentazione di Cloud Storage utilizza i seguenti termini:
Bucket rapido: il prodotto che consente di creare bucket con una posizione zonale e la classe di archiviazione Rapid Storage.
Rapid Storage: la classe di archiviazione che offre le prestazioni più elevate di accesso ai dati e 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, vedi 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 appendable.
Funzionalità dei bucket a livello di zona
Oltre a fornire bassa latenza e throughput elevato, i bucket zonali ti consentono di:
Aggiungere dati agli oggetti nel bucket zonale senza eseguire una riscrittura completa dell'oggetto
Apri gli oggetti e mantieni un flusso mentre esegui le operazioni, consentendoti di accelerare le letture e le scritture successive
Casi d'uso
Rapid Bucket è più adatto per i workload AI/ML o altri workload che richiedono un uso intensivo dei dati. Alcuni esempi di questi carichi di lavoro sono il checkpointing, la valutazione e la pubblicazione dei modelli, nonché le code di logging e messaggistica. Può essere utilizzato anche per lo streaming di dati o per fornire spazio di archiviazione per i database.
Per sfruttare al meglio la bassa latenza e il throughput elevato fornite da Rapid Bucket, assicurati di abilitare la connettività diretta gRPC.
Accesso agli oggetti nei bucket a livello di zona
Per ottenere i vantaggi in termini di prestazioni di un bucket di zona, assicurati di aprire gli oggetti per lo streaming e di mantenere un flusso mentre esegui operazioni sugli oggetti. Quando crei e gestisci uno stream, puoi eseguire operazioni di lettura o scrittura successive sull'oggetto con una latenza molto bassa. Ad esempio, durante la lettura di un file Parquet, puoi eseguire sia la lettura iniziale dei metadati del file (il piè di pagina) sia la lettura successiva di righe specifiche in un'unica richiesta. Questo approccio è più efficiente rispetto all'utilizzo di richieste separate per ogni passaggio.
Una volta stabiliti, i flussi di oggetti vengono mantenuti aperti per impostazione predefinita quando accedi agli oggetti bucket di zona utilizzando Cloud Storage FUSE o le librerie client Cloud Storage.
Puoi aprire più stream di lettura per un oggetto da un numero qualsiasi di host. Non esiste alcuna limitazione al numero di flussi di lettura che puoi stabilire per un oggetto.
Aggiunta di oggetti
Puoi aggiungere dati agli oggetti nei bucket a livello di zona. Quando esegui aggiunte agli oggetti, si applicano le seguenti semantiche:
Gli oggetti appendibili vengono visualizzati nello spazio dei nomi del bucket non appena inizi a scriverli e possono essere letti mentre vengono ancora scritti.
Non esistono limitazioni al numero di aggiunte che puoi apportare a un oggetto o al numero di byte che puoi aggiungere contemporaneamente. Puoi eseguire append fino a quando un oggetto raggiunge la dimensione massima di 5 TiB.
Le dimensioni di un oggetto aumenteranno in tempo reale man mano che i nuovi append vengono scritti o scaricati in modo permanente. Quando crei un flusso di lettura, devi prevedere un ritardo minimo nell'aggiornamento delle dimensioni dell'oggetto.
Gli oggetti modificabili possono avere un solo autore alla volta. Se viene stabilito un nuovo flusso di scrittura per un oggetto che ha già un flusso di scrittura esistente, Cloud Storage restituisce un errore al flusso originale e a quest'ultimo non sarà più consentito scrivere. Il nuovo writer può riprendere l'aggiunta dall'ultimo offset persistente senza altre aggiunte interleaved 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 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, assicurati che la versione di Google Kubernetes Engine sia 1.35.0-gke.3047001 o successive.
Prezzi
L'utilizzo di Rapid Bucket comporta costi per l'archiviazione dei dati, le operazioni e il networking. Per ulteriori informazioni, vedi Prezzi.
Limitazioni
I bucket zonali devono avere abilitato lo spazio dei nomi gerarchico e l'accesso uniforme a livello di bucket.
Limitazioni di Google Cloud CLI:
Versione minima supportata di Google Cloud CLI: la versione minima di gcloud CLI che supporta i bucket zonali è la 553.0.0. Le versioni precedenti non sono compatibili con i bucket zonali. Ti consigliamo di utilizzare l'ultima versione di gcloud CLI per ottenere le funzionalità e le correzioni dei bug più recenti.
Visibilità dei caricamenti incompleti: a differenza dei bucket in altre classi di archiviazione, in cui gli oggetti vengono visualizzati nello spazio dei nomi solo dopo il completamento di un caricamento, gli oggetti caricati parzialmente nei bucket di zona sono immediatamente visibili. Se un comando di caricamento Google Cloud CLI non va a buon fine o viene interrotto, potresti visualizzare oggetti incompleti nel bucket. Puoi comunque riprendere questi caricamenti eseguendo di nuovo il comando.
Sovrascrittura di oggetti: il comportamento standard di Google Cloud CLI si applica ai bucket a livello di zona: quando sovrascrivi un oggetto, se esiste un file o un oggetto con lo stesso nome nella destinazione, i comandi
cp,mversyncdi 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; è necessario caricare nuovamente l'intera origine.Finalizzazione dell'oggetto: gli oggetti caricati in un bucket 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 alla fine coerente, il tentativo di scaricare un oggetto immediatamente dopo il caricamento può generare 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 il comando. Il sistema garantisce che i download vengano completati o non riescano in modo esplicito; i download parziali o danneggiati non si verificano in modo silenzioso.
Incompatibilità
I bucket zonali non sono compatibili con i seguenti strumenti, operazioni, prodotti e metadati:
Strumenti
Scritture che utilizzano l'API XML o l'API JSON
Caricamenti multiparte dell'API XML
Scritture per oggetti non aggiungibili utilizzando gRPC
Protezione dei dati e ripristino di emergenza
Controllo delle versioni degli oggetti
Eliminazione temporanea
Gestione dati
Rapid Cache
Autoclass
Blocco bucket
Composizione di oggetti
Blocchi degli oggetti
L'azione
SetStorageClassGestione del ciclo di vita degli oggettiBlocco conservazione degli oggetti
Spostamento dei bucket
Caricamenti ripristinabili
Riscrittura degli oggetti
Pagamenti a carico del richiedente
Controllo degli accessi
Elenchi di controllo dell'accesso (ACL) a livello di oggetto
Configurazioni CORS
Chiave di crittografia fornita dal cliente (CSEK)
Chiavi HMAC
Metadati
Gli oggetti nei bucket zonali non hanno un hash MD5.
Le proprietà dei metadati associate a funzionalità e prodotti non supportati non vengono visualizzate nella rappresentazione delle risorse di un bucket zonale o di un oggetto aggiungibile oppure non sono scrivibili. Ad esempio:
Le proprietà dei metadati
softDeleteTimeehardDeleteTimenon vengono visualizzate nella rappresentazione della risorsaObjects perché l'eliminazione temporanea non è supportata per gli oggetti nei bucket zonali.I metadati
storageClassdegli oggetti nei bucket zonali hanno sempre un valore diRAPIDe non possono essere riscritti perché i bucket zonali devono sempre utilizzare la classe di archiviazione Rapid Storage.
Quote
Ogni zona per progetto ha una quota di byte di spazio di archiviazione. Ogni zona per progetto ha anche una quota di uscita da Cloud Storage ai servizi Google. Per vedere la quantità di spazio di archiviazione o quota di uscita dei dati disponibile, consulta la pagina Quote e limiti di sistema. Per scoprire come richiedere una quota maggiore, consulta Gestire le quote.
Best practice
Per ottimizzare le prestazioni quando utilizzi bucket di zona con Cloud Storage FUSE, mantieni un handle di file aperto per gli oggetti montati e utilizzalo per più operazioni. Ciò si traduce in prestazioni migliori perché consente a Cloud Storage FUSE di evitare di eseguire round trip di rete non necessari per ogni lettura ripetuta.
Passaggi successivi
- Scopri come creare bucket zonali.
- Scopri come utilizzare gli oggetti nei bucket a livelli di zona.