Panoramica di Anywhere Cache

Questa pagina descrive Anywhere Cache, una funzionalità che fornisce una cache di lettura zonale basata su SSD per i bucket Cloud Storage. Anywhere Cache offre una capacità della cache on demand ridimensionando automaticamente la cache e la larghezza di banda disponibile per soddisfare le tue esigenze. Grazie ai suoi vantaggi, Anywhere Cache è particolarmente utile per ridurre i costi di rete associati ai carichi di lavoro con elevato utilizzo di lettura.

Consulta Creare e gestire le cache per scoprire come creare e gestire le cache in Anywhere Cache.

Panoramica

Anywhere Cache ti consente di creare cache nella stessa zona dei tuoi workload. Quando crei una cache in una zona, le richieste di lettura dei dati provenienti dalla zona vengono elaborate dalla cache anziché dal bucket. Ogni cache serve i client nella stessa zona della cache. I dati verranno importati nella cache dal tuo bucket solo quando vengono letti da una VM che si trova nella stessa zona della cache. I metadati non vengono memorizzati nella cache e le richieste di metadati degli oggetti vengono elaborate dal bucket anziché dalla cache.

Quando crei una cache per un bucket, la cache deve essere creata in una zona all'interno della posizione del bucket. Ad esempio, se il bucket si trova nella regione us-east1, puoi creare una cache in us-east1-b, ma non in us-centra1-c. Se il bucket si trova nella doppia regione ASIA, puoi creare una cache in qualsiasi zona che compone le regioni asia-east1 e asia-southeast1. Per un elenco delle zone, consulta Regioni e zone nella documentazione di Compute Engine.

Per ogni bucket, puoi creare una cache per zona. Ad esempio, se il tuo bucket si trova nell'area geografica multipla US e le tue VM Compute Engine sono in esecuzione nelle zone us-east1-b e us-central1-a, puoi creare una cache in us-east1-b e un'altra in us-central1-a.

Anywhere Cache è un servizio completamente gestito e restituisce sempre dati coerenti.

Vantaggi

Anywhere Cache ti aiuta in due modi principali:

  • Accedi più rapidamente ai dati: Anywhere Cache memorizza i tuoi dati su dispositivi di archiviazione ad alte prestazioni vicino alle risorse di calcolo. Il percorso di rete più breve e i dispositivi ad alte prestazioni consentono ai tuoi workload di ottenere una maggiore velocità effettiva, completare le letture più rapidamente e ridurre la latenza del primo byte delle letture.

  • Evita le tariffe per il trasferimento di dati multiregione: puoi utilizzare Anywhere Cache per evitare le tariffe per il trasferimento di dati per altri prodotti come Compute Engine quando utilizzi bucket multiregione per eseguire query sui dati di Cloud Storage.

Quando conviene utilizzare Anywhere Cache?

Anywhere Cache è ideale per memorizzare nella cache i dati che vengono modificati raramente eletti frequentemente, ad esempio i dati utilizzati per addestrare i modelli di ML o eseguire carichi di lavoro di analisi.

Supponiamo che tu stia addestrando un modello di IA su molti nodi Google Kubernetes Engine, tutti che leggono ripetutamente i dati archiviati nei bucket Cloud Storage e in esecuzione nella stessa zona. Quando crei una cache nella zona in cui è in esecuzione il tuo carico di lavoro, la cache fornisce una larghezza di banda aggiuntiva e ti aiuta a evitare le commissioni di trasferimento dati associate alla lettura dei dati nei bucket multiregionali, consentendoti di eseguire in modo più efficiente carichi di lavoro più grandi e scalabili.

Località supportate

Le cache possono essere create in zone specifiche, a condizione che la capacità sia disponibile. Se la capacità per la creazione di una cache non è disponibile, il servizio Anywhere Cache continua a tentare di creare una cache finché la capacità non diventa disponibile o il processo di creazione non viene interrotto dall'utente. La capacità potrebbe rimanere non disponibile per un lungo periodo di tempo.

Per ogni bucket, puoi creare un massimo di una cache per zona. Ad esempio, se un bucket si trova nella regione us-east1, puoi creare una cache in us-east1-b e un'altra in us-east1-c. Se un bucket si trova in una regione con più regioni che comprende us-central1 e us-east1, puoi creare una cache in us-central1-a e un'altra in us-east1-b.

Puoi utilizzare Anywhere Cache nelle seguenti zone. Queste zone possono essere utilizzate a seconda del tipo di posizione del bucket.

Area geografica Località
Nome zona Regione Doppia regione Più regioni A due regioni personalizzata
Asia
asia-east1-a
asia-east1-b
asia-east1-c
asia-northeast1-a
asia-northeast1-b
asia-northeast1-c
asia-southeast1-a
asia-southeast1-b
asia-southeast1-c
Europa
europe-north1-a
europe-north1-b
europe-north1-c
europe-west1-b
europe-west1-c
europe-west1-d
europe-west4-a
europe-west4-b
europe-west4-c
europe-west6-a
europe-west6-b
Stati Uniti
us-central1-a
us-central1-b
us-central1-c
us-central1-f
us-east1-a
us-east1-b
us-east1-c
us-east1-d
us-east4-a
us-east4-b
us-east4-c
us-east5-a
us-east5-b
us-east5-c
us-west1-a
us-west1-b
us-west1-c
us-west4-a
us-west4-b
us-west4-c

Suggerimenti di Anywhere Cache

Il recommender di Anywhere Cache fornisce consigli e approfondimenti per la creazione di cache in coppie di bucket e zone analizzando l'utilizzo e lo spazio di archiviazione dei dati. Per informazioni generali e istruzioni sull'utilizzo del motore per suggerimenti di Anywhere Cache, consulta Motore per suggerimenti di Anywhere Cache.

Operazioni di cache

Questa sezione descrive le operazioni che puoi eseguire sulle cache Anywhere Cache. Alcune operazioni sono asincrone e restituiscono un'operazione a lunga esecuzione, mentre altre sono sincrone, vengono eseguite immediatamente e restituiscono una risorsa AnywhereCache.

Crea una cache

Quando crei una cache, puoi configurare le seguenti proprietà:

  • La durata (TTL) è il periodo di tempo più lungo per cui un blocco di dati rimane nella cache dall'ultima lettura. Ad esempio, se il TTL è impostato su 24 ore, un blocco di dati letto l'ultima volta alle 11:00 di lunedì senza letture successive verrà espulso dalla cache alle 11:00 di martedì.

    Puoi impostare un TTL compreso tra 1 ora e 7 giorni. Se non specificato, il valore TTL predefinito è 24 ore.

  • Il criterio di ammissione determina se la cache importa i dati alla prima o alla seconda mancata corrispondenza. L'importazione alla seconda mancata corrispondenza ti consente di importare i dati nella cache solo quando vengono letti una seconda volta entro il TTL specificato. L'importazione al secondo mancato accesso ti consente di ridurre il costo dell'utilizzo della cache Anywhere garantendo che vengano memorizzati nella cache solo gli oggetti letti più di una volta, ma riduce anche il tasso di hit della cache.

    Se non specificato, il criterio di ammissione predefinito è l'importazione alla prima mancata importazione.

Quando crei una cache, questa entra nello stato CREATING (Creazione) durante la sua creazione e nello stato RUNNING (In esecuzione) quando viene eseguita attivamente. L'operazione di creazione della cache può richiedere fino a 48 ore, dopodiché l'operazione scade.

L'API AnywhereCaches Create è asincrona. Un'operazione di creazione fa sì che venga restituita un'operazione a lunga esecuzione. L'operazione a lunga esecuzione fornisce lo stato dell'operazione di creazione e ti consente di annullarla prima del completamento.

Aggiornare una cache

Puoi aggiornare il criterio TTL o di ammissione di una cache in stato IN ESECUZIONE. Quando una cache è in fase di aggiornamento, il valore del campo pending_update è true. Mentre il campo pending_update ha il valore true, la cache non può essere aggiornata di nuovo.

Non è possibile aggiornare una cache in stato CREATING, PAUSED o DISABLED. L'API AnywhereCaches Update è asincrona e restituisce un'operazione a lunga esecuzione.

Al termine dell'aggiornamento del TTL di una cache, il nuovo TTL viene applicato immediatamente ai dati appena importati e solo ai dati esistenti quando vengono letti. Ciò significa che i dati esistenti all'interno della cache mantengono il vecchio TTL finché non vengono letti o rimossi a causa della scadenza del TTL.

Recuperare una cache

Quando ottieni una cache, Anywhere Cache restituisce lo stato e la configurazione dell'istanza della cache. L'API Get AnywhereCaches è sincrona e restituisce una risorsa AnywhereCache.

Elenca le cache

Puoi restituire un elenco delle cache associate per un determinato bucket. Puoi restituire l'elenco delle cache in pagine.

L'API AnywhereCaches List è sincrona e restituisce un elenco di risorse AnywhereCache.

Mettere in pausa una cache

Puoi mettere in pausa una cache per interrompere l'importazione dei dati di una cache in stato RUNNING. Quando una cache è in stato IN PAUSA, puoi comunque leggere i dati esistenti dalla cache, ma non puoi importare nuovi dati. La lettura dei dati esistenti dalla cache reimposta il TTL dei dati nella cache.

Quando riprendi una cache in stato IN PAUSA, la cache entra in stato IN esecuzione.

L'API AnywhereCaches Pause è sincrona e restituisce una risorsa AnywhereCache.

Riprendi una cache

Puoi riprendere le cache in stato IN PAUSA o DISATTIVATA, purché la cache disattivata rientri nel periodo di tolleranza di 1 ora. Dopo il periodo di tolleranza di un'ora, l'operazione di ripresa viene eseguita secondo il criterio del massimo impegno, in quanto la cache potrebbe essere eliminata in qualsiasi momento dopo il periodo di tolleranza. Una volta ripresa, la cache assume lo stato RUNNING.

L'API AnywhereCaches Resume è sincrona e restituisce una risorsa AnywhereCache.

Disattivare una cache

Puoi disattivare una cache per rimuoverla definitivamente dalla configurazione del tuo bucket. Quando una cache viene disattivata, entra in uno stato DISABILITATA. In questo stato, puoi comunque leggere i dati esistenti dalla cache, ma non puoi importare nuovi dati nella cache.

Dopo aver disattivato una cache, è previsto un periodo di tolleranza di un'ora durante il quale puoi annullare la disattivazione riprendendo la cache. Al termine di questo periodo di tolleranza di un'ora, la cache viene eliminata. Quando la cache viene eliminata, tutti i dati al suo interno vengono espulsi e la cache viene rimossa dal bucket.

Durante il periodo di un'ora prima dell'eliminazione della cache, puoi ripristinare lo stato DISATTIVATA riprendendo la cache, che riprenderà nello stato IN esecuzione.

L'API AnywhereCaches Disable è sincrona e restituisce una risorsa AnywhereCache.

Scalabilità automatica in base alle dimensioni della cache e al limite di larghezza di banda

Anywhere Cache fornisce spazio di archiviazione della cache temporanea e larghezza di banda che si adattano alle tue esigenze. Per scoprire di più sui limiti di dimensioni e larghezza di banda per Anywhere Cache, consulta Quote e limiti di Cloud Storage.

Controlli dei costi

Di seguito sono riportati alcuni suggerimenti che puoi utilizzare per ridurre al minimo i costi di gestione di una cache:

  • Selezione dei bucket: devi creare cache solo per i bucket che contengono i dati che vuoi memorizzare nella cache.

  • Selezione delle zone: devi creare cache solo nelle zone in cui il tuo workload trarrà vantaggio dalla memorizzazione nella cache.

  • Importazione alla seconda lettura: puoi specificare che i dati vengano importati solo alla seconda lettura anziché alla prima, il che contribuisce ad assicurare che la cache memorizzi solo i dati letti più di una volta.

  • Impostazione TTL: devi specificare il TTL minimo necessario per memorizzare i dati nella cache. Il TTL può essere modificato senza interruzioni.

  • Mettere in pausa la cache: puoi mettere in pausa una cache per interrompere l'importazione dei dati e le commissioni associate all'importazione della cache. La messa in pausa della cache ha effetto immediato. Puoi mettere in pausa una cache fino a quando tutti i dati non vengono eliminati al termine del TTL specificato. Quando tutti i dati vengono espulsi, non ti vengono più addebitate le tariffe di archiviazione dei dati.

  • Disattivazione della cache: puoi disattivare una cache per rimuoverla definitivamente dal servizio e interrompere l'accumulo di tutte le relative commissioni.

Limitazioni e restrizioni

  • Non puoi eliminare un bucket finché non sono state eliminate tutte le cache associate.

  • Anywhere Cache non è un'archiviazione permanente e i dati potrebbero essere espulsi dalla cache in vari scenari. Un esempio è quando le dimensioni della cache vengono modificate automaticamente per garantire che siano disponibili risorse sufficienti per i carichi di lavoro. In questo scenario, alcuni dati potrebbero essere espulsi in base a un algoritmo LRU (Least Recently Used, meno di recente utilizzo) fino a quando il servizio Anywhere Cache non avrà completato l'aumento delle dimensioni della cache.

    In ogni caso, i dati rimangono archiviati in sicurezza nel bucket di origine. Quando i dati vengono eliminati dalla cache per motivi diversi dalla scadenza del TTL, il servizio Anywhere Cache tenterà di importarli nuovamente nella cache in modo trasparente e senza costi per te. Se i dati non possono essere nuovamente importati in modo trasparente o sono stati eliminati a causa della scadenza del TTL, il servizio Anywhere Cache li reimporterà alla prima o alla seconda lettura.

Risorse temporanee insufficienti

Le seguenti sezioni descrivono il comportamento della cache Anywhere quando si verifica una carenza temporanea di risorse, ovvero quando non è presente sufficiente capacità SSD o capacità di pubblicazione in una zona specificata per creare una cache o aumentarne le dimensioni.

Impossibile creare una nuova cache

Anywhere Cache potrebbe non riuscire a creare una nuova cache in una zona specifica a causa della mancanza di capacità SSD o del throughput delle risorse di servizio, con conseguente carenza temporanea di risorse. Durante questo periodo di tempo, Anywhere Cache tenta di creare la nuova cache per un massimo di 48 ore. Se le risorse diventano disponibili entro il periodo di tempo di 48 ore, Anywhere Cache completa la richiesta di creazione della cache. Se le risorse non diventano disponibili nel periodo di tempo di 48 ore, la richiesta di creazione della cache non va a buon fine. Per evitare interruzioni della memorizzazione nella cache, puoi annullare manualmente la richiesta di creazione della cache e creare una nuova cache in una zona o una regione diversa in cui potrebbe essere disponibile la capacità.

Per monitorare la creazione della cache durante una carenza temporanea di risorse, consulta la documentazione di Anywhere Cache per informazioni sull'utilizzo di operazioni di lunga durata.

Mancata impostazione di dimensioni della cache più grandi

Anywhere Cache potrebbe non riuscire a completare un aumento delle dimensioni della cache a causa di una scarsità temporanea di risorse in due scenari:

  • Quando la capacità dell'unità SSD non è sufficiente per aumentare le dimensioni della cache nella zona specificata. Per ulteriori informazioni, consulta Capacità SSD insufficiente.

  • Quando si verifica una carenza temporanea di risorse di pubblicazione del throughput in una zona per scalare il limite di larghezza di banda della cache. Per ulteriori informazioni, consulta Capacità di pubblicazione insufficiente

Capacità SSD insufficiente

Sebbene Anywhere Cache offra aumenti automatici delle dimensioni della cache on demand, gli aumenti delle dimensioni della cache dipendono dalla disponibilità della capacità dell'unità SSD. Se la capacità dell'SSD non è disponibile quando viene presentata la richiesta di aumento automatico delle dimensioni della cache, Anywhere Cache continua a inviare la richiesta fino al termine della carenza temporanea di risorse o fino a quando non è più necessario un aumento delle dimensioni della cache.

Durante una carenza temporanea di risorse, i nuovi dati vengono importati e quelli esistenti nella cache vengono espulsi in base all'utilizzo meno recente per garantire che nella cache sia disponibile spazio sufficiente per i nuovi dati. Le cache sufficientemente grandi per archiviare la maggior parte dei dati caldi hanno un impatto minimo o nullo sulle metriche della cache. Le cache con una capacità inferiore alla quantità di dati caldi possono eliminare i dati e importarli di nuovo più spesso rispetto alle cache non interessate da carenze di risorse. Quando le dimensioni effettive della cache sono molto inferiori alla capacità necessaria, potresti riscontrare il seguente comportamento relativo alla carenza di risorse:

  • Un limite di larghezza di banda della cache più basso, un throughput della cache più basso, un consumo della quota di larghezza di banda per il trasferimento di dati più elevato e un possibile impatto su altre metriche.

  • La fatturazione potrebbe essere interessata nei seguenti modi:

    • Aumento della tariffa di importazione della cache

    • Riduzione della tariffa per lo spazio di archiviazione nella cache

    • Riduzione della commissione per il trasferimento di dati della cache

    • Riduzione della commissione per le operazioni di trasferimento dei dati nella cache

    • Aumento della tariffa per il trasferimento di dati multiregione

    • Aumento delle commissioni per le operazioni di classe B

Per ottenere risultati ottimali durante una carenza temporanea di risorse, ti consigliamo di monitorare le cache e mettere in pausa la cache o il carico di lavoro in base alle tue esigenze.

Capacità di pubblicazione insufficiente

Un limite di larghezza di banda della cache (CBL) può verificarsi temporaneamente durante un aumento delle dimensioni della cache quando il throughput delle risorse di servizio in una zona specifica è insufficiente per scalare il limite di larghezza di banda della cache delle cache esistenti a 20 Gbps per TiB. In caso di carenza di CBL, Anywhere Cache non consente alla CBL della cache di scalare a 20 Gbps per TiB di dati, ma la cache continua a soddisfare le richieste di lettura. Le richieste di aumento del CBL vengono valutate singolarmente. Durante una carenza di CBL, potresti notare un aumento del consumo della larghezza di banda in uscita.

Per ottenere risultati ottimali durante una carenza temporanea di risorse, ti consigliamo di monitorare le cache e mettere in pausa la cache o il carico di lavoro in base alle tue esigenze.

Passaggi successivi