Rapid Cache

Questa pagina descrive Rapid Cache, una funzionalità che fornisce una cache di lettura di zona basata su SSD per i bucket Cloud Storage in grado di aumentare il throughput e ridurre la latenza dei dati archiviati. Rapid Cache fornisce capacità di archiviazione e larghezza di banda che aumentano o diminuiscono automaticamente in base alle tue esigenze. Rapid Cache è un servizio completamente gestito e restituisce dati coerenti.

Rapid Cache è utile per migliorare le prestazioni dei workload con molte letture e ridurre i costi di rete. Per saperne di più, consulta la sezione Vantaggi.

Consulta Creare e gestire le cache per scoprire come creare e gestire le cache utilizzando Rapid Cache.

Come funziona Rapid Cache?

Rapid 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 all'interno della stessa zona della cache.

I dati di un bucket vengono inseriti in una cache quando vengono letti da una VM che si trova nella stessa zona della cache. Se configuri il comportamento di importazione durante la scrittura, i dati vengono importati nella cache anche quando vengono scritti nel bucket.

I metadati non vengono memorizzati nella cache. Le richieste di metadati degli oggetti vengono sempre elaborate dal bucket anziché dalla cache.

Per saperne di più su come i dati vengono acquisiti in una cache, consulta Acquisizione dei dati. Puoi configurare il Time to Live (TTL) e il comportamento di inserimento durante la scrittura di una cache quando la crei o la aggiorni.

Vantaggi

Quando memorizzi nella cache i dati con Rapid Cache, ottieni i seguenti vantaggi:

  • Accedi più rapidamente ai dati: Rapid Cache colloca i dati nella stessa zona delle risorse di computing ed è completamente supportata da SSD. In questo modo, i tuoi workload possono raggiungere un throughput fino a 2,5 TB/s e la latenza si riduce per letture più rapide.

  • Ridurre le tariffe di trasferimento dei dati multiregionali: i dati letti dalla cache vengono addebitati con tariffe di trasferimento dei dati ridotte rispetto ai dati letti direttamente da un bucket multiregionale.

  • Riduzione delle tariffe di recupero: le tariffe di recupero per i bucket in Nearline Storage, Coldline Storage e Archive Storage non si applicano alle letture dei dati dalla cache.

  • Accumula costi inferiori per le operazioni di lettura: le operazioni di lettura pubblicate da Rapid Cache hanno un prezzo inferiore rispetto alle operazioni di classe B pubblicate da un bucket in Standard Storage.

  • Scalare automaticamente le dimensioni della cache: la memorizzazione nella cache SSD dinamica di Rapid Cache viene scalata automaticamente in base all'utilizzo senza che tu debba specificare le dimensioni della cache.

  • Utilizza le cache in modo efficiente: Rapid Cache può essere abilitata sui bucket esistenti senza richiedere modifiche alle applicazioni o alle API esistenti. I dati archiviati in Rapid Cache sono a elevata coerenza.

Per i dettagli sui prezzi, consulta Prezzi di Rapid Cache. Per informazioni sulle quote, consulta Quote di Rapid Cache.

Quando conviene utilizzare Rapid Cache?

Utilizza Rapid Cache per i dati modificati raramente e letti frequentemente per accelerare le letture dei dati per i carichi di lavoro di analisi e l'addestramento e il caricamento dei modelli di AI/ML.

Supponiamo che tu stia addestrando un modello di AI su molti nodi Google Kubernetes Engine, che leggono ripetutamente i dati archiviati nei bucket Cloud Storage e vengono eseguiti nella stessa zona. Quando crei una cache nella zona in cui viene eseguito il tuo workload, la cache fornisce larghezza di banda aggiuntiva e ti aiuta a ridurre le commissioni di trasferimento dei dati associate alla lettura dei dati nei bucket multiregionali, consentendoti di eseguire workload più grandi e scalati in modo più efficiente.

Scalabilità automatica del limite di larghezza di banda e delle dimensioni della cache

Rapid Cache fornisce capacità di archiviazione e larghezza di banda temporanee che vengono scalate automaticamente in base alla quantità di dati archiviati in una cache.

Il limite di larghezza di banda della cache inizia a 100 Gbps e aumenta al ritmo di 20 Gbps per 1 TiB di dati archiviati. Puoi aumentare la larghezza di banda iniziale o il limite di larghezza di banda totale aumentando la quantità di dati memorizzati nella cache, creando più cache in una zona o contattando il tuo Technical Account Manager o il tuo rappresentante di Google.

Per saperne di più sui limiti di dimensioni e larghezza di banda per Rapid Cache, consulta Quote e limiti di Cloud Storage.

Memorizzazione nella cache dei dati nelle zone

Quando crei una cache per un bucket, questa deve essere creata in una zona all'interno della posizione del bucket. Ad esempio, se il tuo bucket si trova nella regione us-east1, puoi creare una cache in us-east1-b, ma non in us-central1-c. Se il bucket si trova nella regione a due regioni ASIA, puoi creare una cache in qualsiasi zona che compone le regioni asia-east1 e asia-southeast1.

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 cache in us-east1-c. Se un bucket si trova in una multiregione che comprende us-central1 e us-east1, puoi creare una cache in us-central1-a e un'altra cache in us-east1-b.

Puoi creare cache nelle zone finché è disponibile capacità per la zona. Se la capacità per la creazione di una cache non è disponibile, Rapid Cache continua a tentare di creare una cache finché la capacità non diventa disponibile o il processo di creazione non viene annullato dall'utente. La capacità potrebbe rimanere non disponibile per un lungo periodo di tempo.

Puoi utilizzare Rapid Cache nelle seguenti zone. Queste zone possono essere utilizzate a seconda del tipo di località del bucket.

Asia

La tabella seguente mostra le zone e i tipi di località disponibili per Rapid Cache nell'area geografica Asia.

Nome zona Regione Doppia regione Più regioni Doppia regione personalizzata
asia-east1-a
asia-east1-b
asia-east1-c
asia-northeast1-a
asia-northeast1-b
asia-northeast1-c
asia-south1-a
asia-south1-b
asia-south1-c
asia-southeast1-a
asia-southeast1-b
asia-southeast1-c

Europa

La tabella seguente mostra le zone e i tipi di località disponibili per Rapid Cache nell'area geografica Europa.

Nome zona Regione Doppia regione Più regioni Doppia regione personalizzata
europe-north1-a
europe-north1-b
europe-north1-c
europe-west1-b
europe-west1-c
europe-west1-d
europe-west3-a
europe-west3-b
europe-west3-c
europe-west4-a
europe-west4-b
europe-west4-c
europe-west4-ai1a (zona AI)
europe-west6-a
europe-west6-b

Stati Uniti

La tabella seguente mostra le zone e i tipi di località disponibili per Rapid Cache nell'area geografica degli Stati Uniti.

Nome zona Regione Doppia regione Più regioni Doppia regione personalizzata
us-central1-a
us-central1-b
us-central1-c
us-central1-f
us-central1-ai1a (zona AI)
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-south1-a
us-south1-b
us-south1-c
us-south1-ai1b (zona AI)
us-west1-a
us-west1-b
us-west1-c
us-west2-a
us-west3-a
us-west3-b
us-west3-c
us-west4-a
us-west4-b
us-west4-c

Acquisizione dei dati per le cache

Per impostazione predefinita, i dati vengono importati in una cache dopo la prima richiesta.

Poiché la cache è vuota quando arriva questa richiesta iniziale, i dati non possono essere ancora trovati all'interno della cache. Ciò comporta un errore iniziale della cache, in cui il sistema recupera i dati dal bucket Cloud Storage di backup. Man mano che il sistema invia questi dati recuperati all'utente, li importa contemporaneamente nella cache.

Una volta completata la prima richiesta, i dati risiedono nella cache, consentendo a tutte le letture successive di essere pubblicate direttamente dalla cache come successi della cache ad alta velocità. Questo comportamento riduce significativamente la latenza di lettura e accelera il recupero dei dati. I dati importati risiedono nella cache fino alla scadenza del TTL, dopodiché vengono eliminati dalla cache.

Per evitare del tutto la lentezza della richiesta iniziale, puoi configurare la cache per inserire i dati in scrittura, oltre a inserirli dopo la prima lettura.

Importazione di dati come blocchi

Quando importa i dati in una cache, Rapid Cache suddivide gli oggetti in blocchi più piccoli di dimensioni fisse. La suddivisione degli oggetti in blocchi consente una memorizzazione nella cache più granulare, soprattutto per i file di grandi dimensioni in cui si accede solo a parti specifiche.

Un chunk è un blocco di dati di 2 MB. Quando viene effettuata una richiesta per un oggetto, Rapid Cache identifica quali blocchi di 2 MB coprono l'intervallo di byte richiesto e gestisce questi blocchi in modo indipendente.

Il comportamento di importazione dati varia a seconda delle dimensioni dell'oggetto importato nella cache:

  • Per le richieste di lettura di oggetti di dimensioni superiori a 2 MB, vengono inseriti solo i blocchi contenenti l'intervallo di byte richiesto. Ad esempio, la lettura del primo MB di un file da 100 MB comporta l'importazione solo del primo blocco da 2 MB.

  • Per le richieste di lettura di oggetti più piccoli di 2 MB (ad esempio, un'immagine di 500 KB), l'intero oggetto viene inserito nella cache.

Importazione dei dati alla scrittura

Quando abiliti una cache per l'importazione dei dati in scrittura, i dati vengono importati nella cache nel momento in cui vengono scritti nel bucket. Questo comportamento può essere abilitato facoltativamente in aggiunta al comportamento predefinito della cache di inserimento dei dati dopo la lettura iniziale.

La funzionalità di importazione in scrittura elimina gli errori iniziali della cache e consente al tuo workload di beneficiare di un successo immediato della cache alla prima lettura dei dati. L'importazione dei dati in scrittura accelera i workload read-after-write, ad esempio il ripristino dei checkpoint di sistema o la preparazione delle pipeline di dati per l'addestramento del modello.

Puoi abilitare una cache per importare i dati in scrittura quando crei o aggiorni la cache. Puoi configurare una cache per importare tutti gli oggetti scritti in un bucket (operazione nota anche come "importazione a livello di bucket al momento della scrittura") o importare in modo selettivo gli oggetti scritti nel bucket in una cartella gestita specificata (operazione nota anche come "importazione a livello di prefisso al momento della scrittura").

Ad esempio, supponiamo che tu attivi una cache per eseguire l'importazione a livello di prefisso per gli oggetti nel bucket my-bucket che hanno il prefisso red/ nel nome. Poi carica tre oggetti su my-bucket: gli oggetti red/my-dog.png, blue/my-cat.png e red/my-goldfish.png. Di conseguenza, nella cache vengono inseriti solo gli oggetti red/my-dog.png e red/my-goldfish.png dopo essere stati caricati in my-bucket.

Quando configuri l'importazione a livello di prefisso utilizzando determinati strumenti (come la consoleGoogle Cloud ), viene creata automaticamente una nuova cartella gestita se specifichi un prefisso che non è il nome di una cartella gestita esistente. Tuttavia, quando utilizzi l'API JSON, devi creare manualmente la cartella gestita e applicare le impostazioni ingestOnWrite per ogni zona della cache. Puoi trovare le istruzioni per attivare o disattivare l'inserimento durante la scrittura utilizzando ogni strumento in Utilizzare Rapid Cache.

Per capire come attivare o disattivare l'importazione durante la scrittura a livello di bucket o prefisso quando utilizzi l'API JSON, espandi la sezione Informazioni su come attivare l'importazione durante la scrittura. Le informazioni in questa sezione riguardano principalmente solo l'API JSON; altri strumenti, come la consoleGoogle Cloud , offuscano alcune impostazioni per semplificare l'attivazione e la gestione dell'importazione durante la scrittura.

Informazioni su come attivare l'inserimento durante la scrittura

Questa sezione ti aiuta a capire quali impostazioni dell'API JSON utilizzare per attivare l'importazione durante la scrittura per tutti gli oggetti scritti in un bucket o solo per gli oggetti selezionati che vengono scritti nel bucket con un prefisso di cartella gestita.

Esistono due impostazioni che controllano se una cache inserisce i dati in scrittura per tutti gli oggetti di un bucket o solo per gli oggetti selettivi con un prefisso:

  • L'attivazione dell'inserimento durante la scrittura a livello di bucket viene eseguita utilizzando il campo ingestOnWrite di una risorsa cache. Il campo sarà simile al seguente:

    {
    "zone": "us-east1-a",
    "ttl": "24h",
    "ingestOnWrite": true
    }
    • Se impostato su true, l'importazione durante la scrittura viene attivata per tutti gli oggetti scritti nel bucket. Questa impostazione esegue l'override di qualsiasi impostazione a livello di cartella gestita che abilita l'importazione in scrittura per oggetti selettivi in base al prefisso.
    • Se impostato su false, l'importazione durante la scrittura viene disattivata per gli oggetti a livello di bucket. Questa impostazione consente l'attivazione dell'importazione in scrittura per oggetti selettivi per prefisso tramite le impostazioni della cartella gestita.
  • L'attivazione dell'importazione durante la scrittura a livello di prefisso viene eseguita utilizzando le cartelle gestite, che rappresentano i percorsi dei prefissi che terminano con una barra finale (ad esempio: my-prefix/). Quando l'importazione durante la scrittura a livello di prefisso è attivata, una cache importa selettivamente gli oggetti durante la scrittura solo se l'oggetto ha il prefisso nel nome.

    L'importazione al momento della scrittura a livello di prefisso è controllata tramite il campo ingestOnWrite del mapping rapidCacheConfig.policies in una risorsa cartella gestita. Per poter essere specificata nella mappatura rapidCacheConfig.policies, deve esistere un'istanza della cache.

    Il mapping rapidCacheConfig.policies di una cartella gestita ha il seguente aspetto:

    "rapidCacheConfig": {
      "policies": {
        "us-east1-a": {
          "rapidCacheId": "us-east1-a",
          "ingestOnWrite": "unspecified"
        }
        "us-east1-b": {
          ...,
          ...
        }
      }
    }
    • Le istanze della cache specificate nel mapping policies devono già esistere affinché l'importazione in scrittura a livello di prefisso funzioni. Ad esempio, per specificare rapidCacheId: "us-east1-a" nel mapping policies, devi prima avere una cache per la zona us-east1-a.
    • Puoi aggiornare più istanze della cache specificate nel mapping policies in una singola chiamata API.
    • Se ingestOnWrite è impostato su enabled, l'importazione in scrittura è abilitata per tutti gli oggetti scritti nel bucket con questo prefisso della cartella gestita. L'inserimento a livello di prefisso può essere abilitato solo se il campo ingestOnWrite della risorsa cache è false.
    • Se è impostato su unspecified (impostazione predefinita), l'attivazione dell'importazione durante la scrittura viene ereditata dalla risorsa padre immediata, che può essere una cartella gestita principale o il bucket che contiene la cartella gestita stessa.
    • Le cache non specificate nel mapping delle policy vengono trattate come se l'impostazione ingestOnWrite fosse impostata su unspecified.

Di seguito è riportato un riepilogo di come configurare le risorse della cache e della cartella gestita per attivare o disattivare l'inserimento durante la scrittura a livello di bucket o prefisso:

  • Attivazione dell'importazione al momento della scrittura a livello di bucket (ma non a livello di prefisso)

    • Configurazione: imposta il campo ingestOnWrite della risorsa cache su true.

    • Comportamento: l'importazione durante la scrittura è abilitata per tutti gli oggetti scritti nel bucket. Questa impostazione a livello di bucket esegue l'override di qualsiasi configurazione gestita a livello di cartella (il che significa che le configurazioni selettive a livello di prefisso vengono ignorate).

  • Attivazione dell'importazione in scrittura a livello di prefisso (ma non a livello di bucket)

    • Configurazione:

      1. Imposta il campo ingestOnWrite della risorsa cache su false.
      2. Configura una mappatura policies valida (non nulla) nella risorsa della cartella gestita.
      3. Imposta il campo ingestOnWrite della cartella gestita su enabled (o impostalo su unspecified se si tratta di una cartella secondaria che eredita enabled da una cartella gestita principale abilitata).
    • Comportamento: l'importazione durante la scrittura si verifica solo per gli oggetti scritti in prefissi di cartelle gestite corrispondenti.

  • Attivazione dell'importazione in scrittura a livello di prefisso nelle cartelle gestite principali e secondarie

    Non è possibile abilitare l'inserimento durante la scrittura per le cartelle gestite secondarie senza abilitarlo anche nella cartella gestita principale.

  • Disabilitazione dell'inserimento in scrittura sia del bucket che del prefisso

    • Configurazione:

      1. Imposta il campo ingestOnWrite della risorsa cache su false.
      2. Imposta tutti i campi ingestOnWrite delle cartelle gestite su unspecified, assicurandoti che nessun campo ingestOnWrite delle cartelle gestite principali sia enabled.

        In alternativa, non configurare criteri lasciando la mappa policies null o omettendo la configurazione rapidCacheConfig.

    • Comportamento: l'inserimento durante la scrittura è disattivato a livello globale per il bucket e tutti i prefissi.

Quando abiliti l'importazione in scrittura a livello di prefisso in una cartella gestita principale, l'importazione in scrittura viene abilitata per tutte le cartelle gestite secondarie nidificate nella cartella gestita principale. Per scoprire di più su come le risorse ereditano l'attivazione e la disattivazione dell'inserimento durante la scrittura, espandi la sezione Come funziona l'ereditarietà dell'inserimento durante la scrittura.

Come funziona l'ereditarietà dell'inserimento durante la scrittura

Quando una cartella gestita non abilita esplicitamente l'inserimento durante la scrittura (ovvero il campo ingestOnWrite della cartella gestita è impostato su unspecified), il comportamento di inserimento durante la scrittura della cache viene ereditato dalla risorsa padre della cartella gestita, che si tratti del bucket o di una cartella gestita padre.

Quando utilizzi l'importazione in scrittura a livello di prefisso, l'impostazione di importazione in scrittura che configuri in una cartella gestita principale viene ereditata da tutte le cartelle gestite secondarie.

Ad esempio, considera il seguente scenario:

  • Hai una cartella gestita a/ la cui risorsa principale è il bucket my-bucket.
  • Hai una cartella gestita a/b/ la cui risorsa principale è la cartella gestita a/ all'interno di my-bucket.

Quando viene scritto un oggetto denominato a/b/info.txt, Rapid Cache valuta la gerarchia di configurazione dall'alto verso il basso:

  1. Controlla la cartella gestita immediata: se a/b/ è impostato su enabled, l'importazione in scrittura a livello di prefisso è abilitata per gli oggetti scritti in a/b/. Se a/b/ è impostato su unspecified, Rapid Cache controlla la risorsa padre immediata, ovvero la cartella gestita a/.
  2. Controlla la cartella gestita padre: se a/ è impostato su enabled, l'importazione in scrittura a livello di prefisso è abilitata per a/ e a/b/. Se a/ è impostato su unspecified, Rapid Cache controlla il bucket principale.
  3. Controlla l'impostazione ingestOnWrite a livello di cache del bucket: se il campo ingestOnWrite della cache è impostato su true, l'importazione in scrittura a livello di bucket è attivata e sostituisce qualsiasi cartella gestita con l'importazione in scrittura configurata a livello di prefisso. Se il campo ingestOnWrite della cache è false e il campo ingestOnWrite delle cartelle gestite principale e secondaria è unspecified, l'importazione in scrittura è disattivata per gli oggetti nel bucket che si trovano nelle cartelle gestite principale e secondaria. In questo scenario, se nel bucket non sono presenti altre cartelle gestite con l'importazione in scrittura configurata, l'importazione in scrittura viene disattivata per tutti gli oggetti nel bucket.

Durata (TTL)

Il TTL di una cache determina per quanto tempo i dati rimangono nella cache prima di essere rimossi. Il TTL è il periodo di tempo in cui i dati rimangono 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 viene rimosso dalla cache alle 11:00 di martedì.

Puoi impostare il TTL di una cache quando la crei o la aggiorni. Puoi impostare il TTL di una cache su un valore compreso tra 24 ore e 7 giorni inclusi. Se non specificato, il TTL è impostato su 24 ore per impostazione predefinita.

Operazioni della cache

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

Creare una cache

Puoi impostare la località, il TTL e il comportamento di importazione dati di una cache quando crei la cache. La cache entra nello stato CREAZIONE IN CORSO durante la creazione e nello stato IN ESECUZIONE quando diventa attiva. Un'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 uno stato dell'operazione di creazione e ti consente di annullarla prima del completamento.

Aggiornare una cache

Puoi impostare il TTL o il comportamento di importazione dati di una cache quando la aggiorni. Puoi aggiornare solo le cache in stato IN ESECUZIONE. Una cache in stato CREAZIONE IN CORSO o DISABILITATA non può essere aggiornata.

Quando una cache è in fase di aggiornamento, il campo pending_update restituisce il valore true. Mentre il campo pending_update restituisce true, la cache non può essere aggiornata di nuovo. Al termine dell'aggiornamento del TTL di una cache, il nuovo TTL viene applicato immediatamente ai dati esistenti e a quelli nuovi nella cache.

L'API AnywhereCaches Update è asincrona e restituisce un'operazione a lunga esecuzione.

Ottenere una cache

Quando recuperi una cache, Rapid Cache restituisce lo stato e la configurazione dell'istanza di cache. L'API AnywhereCaches Get è sincrona e restituisce una risorsa AnywhereCache.

Elenco delle cache

Puoi restituire un elenco di cache associate per un determinato bucket. L'API AnywhereCaches List è sincrona e supporta l'impaginazione.

Disattivare una cache

Puoi disattivare una cache per rimuoverla definitivamente dalla configurazione del bucket. Quando disattivi una cache, questa passa allo stato DISABLED. Durante questo stato, puoi comunque leggere i dati esistenti dalla cache, ma non puoi inserire nuovi dati nella cache.

Dopo aver disattivato una cache, hai un periodo di tolleranza di 1 ora durante il quale puoi annullare la disattivazione riattivando la cache. Trascorso questo periodo di tolleranza di un'ora, la cache viene eliminata. Quando la cache viene eliminata, tutti i dati al suo interno vengono rimossi e la cache viene eliminata dal bucket.

Durante il periodo di un'ora prima dell'eliminazione della cache, puoi ripristinare lo stato DISABLED riprendendo la cache, che riprenderà lo stato RUNNING.

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

Riprendere una cache

Puoi riprendere le cache che si trovano nello stato DISABLED, purché la cache disattivata rientri nel periodo di tolleranza di 1 ora. Dopo il periodo di tolleranza di un'ora, l'operazione di ripristino viene eseguita al meglio, in quanto la cache potrebbe essere eliminata in qualsiasi momento dopo il periodo di tolleranza. Una volta ripresa, la cache entra nello stato RUNNING.

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

Motore per suggerimenti Rapid Cache

Il motore per suggerimenti di Rapid Cache fornisce consigli e approfondimenti per creare cache in coppie bucket-zona analizzando l'utilizzo di dati e spazio di archiviazione. Per informazioni generali e istruzioni sull'utilizzo del motore per suggerimenti di Rapid Cache, consulta Motore per suggerimenti di Rapid Cache.

Utilizzo di Rapid Cache per accelerare le letture per BigQuery

Rapid Cache può essere utilizzato per pubblicare dati per le richieste di lettura di oggetti emesse da BigQuery. Utilizzando Rapid Cache, puoi accelerare le letture dei dati per le tue applicazioni ottimizzando al contempo l'efficienza dei costi.

Anche se BigQuery è un servizio regionale, le risorse di calcolo sottostanti potrebbero occasionalmente spostarsi tra le zone per il bilanciamento del carico. Come best practice, abilita Rapid Cache per un workload BigQuery in tutte le zone di una regione per assicurarti che sia disponibile una cache da utilizzare nel caso in cui le risorse di calcolo sottostanti cambino zona. Se una cache in una zona non viene utilizzata, non comporta costi aggiuntivi, in quanto Rapid Cache è pay-per-use. Tieni presente che se le risorse di un workload cambiano zona, la cache nella nuova zona dovrà riacquisire i dati, il che potrebbe comportare un aumento una tantum dei costi di importazione dati.

Crittografia dei dati memorizzati nella cache

I dati vengono archiviati nella cache nel formato crittografato lato server originale, garantendo la compatibilità con le opzioni di crittografia supportate da Cloud Storage.

Limitazioni e restrizioni

  • Per eliminare un bucket, devi prima eliminare tutte le cache associate. L'unica eccezione si verifica quando elimini un bucket utilizzando la console Google Cloud , che elimina tutte le cache associate insieme al bucket.

  • Quando esegui le operazioni di creazione, disattivazione, ripristino o aggiornamento della cache, limita la frequenza delle operazioni a non più di una operazione al secondo. L'esecuzione di più di un'operazione al secondo può causare errori.

  • La cache rapida non è un'archiviazione durevole e i dati potrebbero essere rimossi dalla cache in vari scenari. Uno scenario si verifica quando la cache viene ridimensionata automaticamente per garantire che siano disponibili risorse sufficienti per i tuoi workload. In questo scenario, alcuni dati potrebbero essere eliminati in base a un algoritmo LRU (Least Recently Used) finché il servizio Rapid Cache non avrà terminato di aumentare le dimensioni della cache.

    In ogni caso, i tuoi dati rimangono archiviati in modo sicuro nel bucket di origine. Quando i dati vengono eliminati dalla cache per motivi diversi dalla scadenza del TTL, il servizio Rapid Cache tenterà di re-inserire i dati nella cache in modo trasparente e senza costi per te. Se i dati non possono essere reingestiti in modo trasparente o sono stati eliminati a causa della scadenza del TTL, il servizio Rapid Cache li reingerirà alla prima lettura.

  • I suggerimenti e gli insight generati dal motore per suggerimenti Rapid Cache non possono essere letti utilizzando BigQuery.

Considerazioni sulle prestazioni

  • Mancanze di blocchi: se una richiesta copre più blocchi e alcuni sono nella cache mentre altri no, Rapid Cache recupera in modo trasparente i blocchi mancanti dal bucket di origine.

  • TTL ed eliminazione: i criteri di eliminazione della durata (TTL) e di eliminazione meno recente (LRU) operano anche sui blocchi. Le parti di un file di grandi dimensioni utilizzate di frequente potrebbero rimanere nella cache, mentre quelle utilizzate di rado vengono eliminate.

Prezzi

Per i prezzi dell'utilizzo di Rapid Cache, consulta la pagina Prezzi di Rapid Cache.

Controllo dei costi

Espandi i seguenti suggerimenti per scoprire come ridurre al minimo i costi di esecuzione delle cache:

Selezione del 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 carico di lavoro trarrà vantaggio dalla memorizzazione nella cache.

Impostazione TTL

Devi specificare il TTL minimo necessario per archiviare i dati nella cache. Il TTL può essere modificato senza interruzioni. Il valore predefinito è 1 giorno.

Disattivare la cache

Puoi disattivare una cache per rimuoverla definitivamente dal servizio e interrompere l'accumulo di tutte le tariffe della cache associate.

Risoluzione dei problemi relativi alla carenza temporanea di risorse

Le sezioni seguenti descrivono come risolvere i problemi quando si verifica una carenza temporanea di risorse, ovvero quando non è disponibile capacità SSD o capacità di pubblicazione sufficiente in una zona specificata per creare una cache, aumentare le dimensioni di una cache o aumentare il limite di larghezza di banda di una cache.

Impossibile creare una nuova cache

Rapid Cache potrebbe non riuscire a creare una nuova cache in una zona specifica a causa di una mancanza di capacità SSD o di risorse di servizio di throughput, il che comporta una carenza temporanea di risorse. Durante questo periodo di tempo, Rapid Cache tenta di creare la nuova cache per un massimo di 48 ore. Se le risorse diventano disponibili entro il periodo di 48 ore, Rapid Cache completa la richiesta di creazione della cache. Se le risorse non diventano disponibili entro il periodo di 48 ore, la richiesta di creazione della cache non va a buon fine.

Come risolvere il problema: per evitare interruzioni della memorizzazione nella cache, puoi annullare manualmente l'operazione di creazione della cache e crearne una nuova in una zona diversa che potrebbe avere capacità disponibile. Per monitorare o annullare un'operazione di creazione della cache, consulta Utilizzo di operazioni a lunga esecuzione.

Impossibilità di aumentare le dimensioni della cache

Rapid Cache potrebbe non riuscire ad aumentare le dimensioni di una cache quando la quantità di capacità SSD richiesta non è disponibile nella zona della cache.

Sebbene Rapid Cache offra aumenti automatici delle dimensioni della cache on demand, questi aumenti dipendono dalla disponibilità di capacità SSD. Se la capacità SSD non è disponibile quando viene effettuata la richiesta di aumento automatico delle dimensioni della cache, Rapid Cache continua a inviare la richiesta finché non termina la carenza temporanea di risorse o non è più necessario un aumento delle dimensioni della cache.

Durante una carenza temporanea di risorse, i nuovi dati vengono inseriti e quelli esistenti nella cache vengono eliminati in base al criterio di utilizzo meno recente. Le cache sufficientemente grandi da archiviare la maggior parte dei dati attivi hanno un impatto minimo o nullo sulle metriche della cache. Le cache con una capacità inferiore alla quantità di dati attivi possono eliminare i dati e reingerirli 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 correlato alla carenza di risorse:

  • Un limite di larghezza di banda della cache inferiore, un throughput della cache inferiore, un consumo della quota di larghezza di banda per il trasferimento dei dati superiore e un possibile impatto su altre metriche
  • La fatturazione potrebbe essere interessata nei seguenti modi:
    • Aumento dei costi dovuto alla tariffa di importazione della cache
    • Costi ridotti della tariffa di archiviazione nella cache
    • Costi ridotti della tariffa per il trasferimento di dati in uscita dalla cache
    • Costi ridotti per le commissioni di trasferimento dei dati della cache
    • Aumento dei costi dovuto alla tariffa per il trasferimento di dati tra regioni
    • Aumento dei costi dovuto all'utilizzo delle operazioni di classe B

Per informazioni su queste tariffe, consulta la sezione Prezzi di Rapid Cache.

Come risolvere i problemi: per ottenere risultati ottimali durante una carenza temporanea di risorse, ti consigliamo di monitorare le cache e disabilitare quelle non necessarie o i carichi di lavoro in base alle tue esigenze.

Impossibile fare lo scale up del limite di larghezza di banda di una cache

Una carenza temporanea del limite di larghezza di banda della cache può verificarsi durante un aumento delle dimensioni della cache quando le risorse di servizio del throughput in una zona specifica non sono sufficienti per scalare il limite di larghezza di banda della cache delle cache esistenti a 20 Gbps per TiB. Durante una carenza di larghezza di banda della cache disponibile, Rapid Cache non consente di scalare il limite di larghezza di banda della cache a 20 Gbps per TiB di dati, ma la cache continua a gestire le richieste di lettura. Puoi richiedere una maggiore larghezza di banda della cache contattando il tuo Technical Account Manager o ilrappresentante di Googlee. In caso di carenza di larghezza di banda della cache disponibile, potresti notare un aumento del consumo di larghezza di banda in uscita dei dati del bucket.

Come risolvere i problemi: per ottenere risultati ottimali durante una carenza temporanea di risorse, ti consigliamo di monitorare le cache e disattivare quelle non necessarie o i carichi di lavoro in base alle tue esigenze.

Passaggi successivi