Questa pagina si riferisce al parametro
persist_for, che fa parte di un'Esplorazione.
persist_forpuò essere utilizzato anche nell'ambito di un modello, come descritto nella pagina della documentazione dedicata al parametropersist_for(per i modelli).
persist_forpuò essere utilizzato anche nell'ambito di una tabella derivata, come descritto nella pagina della documentazione dedicata al parametropersist_for(per le tabelle derivate).
Utilizzo
explore: explore_name {
persist_for: "1 hour"
}
|
Gerarchia
persist_for |
Valore predefinito
L'impostazione persist_for del modello
Accetta
Una stringa contenente un numero intero seguito da un intervallo di tempo (secondi, minuti o ore)
Regole speciali
Un'impostazione persist_for a livello di explore sostituirà l'impostazione persist_for a livello di modello
|
Definizione
Per una gestione della cache più solida, inclusa la sincronizzazione della policy della cache di Looker con il processo ETL (estrazione, trasformazione e caricamento) del database, valuta la possibilità di utilizzare un
datagroupepersist_with, come descritto nella pagina della documentazione Memorizzazione nella cache delle query.
persist_for consente di modificare la quantità di tempo per cui i risultati delle query memorizzati nella cache vengono utilizzati per una determinata esplorazione. La durata predefinita della cache in Looker è di 1 ora. I risultati nella cache vengono archiviati in un file criptato sull'istanza di Looker.
Il meccanismo di memorizzazione nella cache di Looker funziona come segue: quando un utente esegue una determinata query, il risultato della query viene memorizzato nella cache. Se la stessa query (tutto deve essere uguale, inclusi elementi come i limiti di riga e così via) viene eseguita di nuovo, entro l'intervallo specificato da persist_for, vengono restituiti i risultati memorizzati nella cache. In caso contrario, viene eseguita una nuova query sul database.
Quando scade l'intervallo persist_for, i dati vengono eliminati dalla cache. Per informazioni su per quanto tempo i dati vengono archiviati nella cache, consulta la pagina della documentazione Memorizzazione nella cache delle query.
Se persist_for è impostato sia per un'esplorazione sia per il relativo modello, il valore impostato per l'esplorazione avrà la priorità per le query basate su quell'esplorazione.
Da un'esplorazione, puoi vedere se una query è stata restituita dalla cache o puoi forzare la generazione di nuovi risultati dal database. Per ulteriori informazioni, consulta la pagina della documentazione Memorizzazione nella cache delle query.
Esempi
Regola la durata della cache su 2 ore:
explore: my_explore {
persist_for: "2 hours"
}
Regola la durata della cache su 30 minuti:
explore: my_explore {
persist_for: "30 minutes"
}
Disattiva la memorizzazione nella cache in modo che gli utenti non ricevano mai i risultati memorizzati nella cache per una query:
explore: my_explore {
persist_for: "0 seconds"
}
Aspetti da considerare
Quando persist_for è impostato su 0 seconds, le query degli utenti non recupereranno i dati dalla cache. Tuttavia, Looker richiede la cache del disco per i processi interni, quindi i dati criptati verranno sempre scritti nella cache, anche quando persist_for è impostato su 0 seconds. Una volta scritti nella cache, i dati verranno contrassegnati per l'eliminazione, ma potrebbero rimanere sul disco fino a 10 minuti. Per maggiori dettagli, consulta la pagina della documentazione Memorizzazione nella cache delle query.
persist_for non si allinea necessariamente all'importazione dei dati
Molte aziende eseguono un'importazione giornaliera dei dati nel database di analisi. A volte, ritengono che non abbia senso eseguire query aggiornate se i dati non vengono aggiornati costantemente, quindi impostano la durata della cache su 24 ore (ad esempio persist_for: 24 hours). Tuttavia, in questo modo gli utenti non potranno ottenere dati più vecchi dell'aggiornamento più recente.
Ad esempio, una query viene eseguita a mezzogiorno del 1° gennaio, i nuovi dati vengono importati la mattina del 2 gennaio e poi la query viene eseguita di nuovo a mezzogiorno del 2 gennaio. Poiché la query è stata eseguita entro la finestra di 24 ore specificata da persist_for, verranno restituiti i dati del 1° gennaio, anche se i nuovi dati sono stati caricati il 2 gennaio.
Se vuoi che la memorizzazione nella cache sia allineata alle importazioni di dati, utilizza un datagroup e
persist_with, come descritto nella documentazione sulla memorizzazione nella cache delle query.
Le Look pianificate memorizzeranno i risultati nella cache
Quando viene eseguita una Look pianificata, viene creato un insieme di risultati memorizzati nella cache nello stesso modo in cui verrebbe eseguita una query eseguita dall'utente. Per precaricare una determinata Look, valuta la possibilità di salvarla e di pianificarla.