<< Back

Aiuto il datasource non si aggiorna!

Perché, se ho caricato un workbook su server con il suo relativo datasource e ho impostato una connessione live, quando apro il workbook i dati non sono aggiornati, ma devo cliccare io su “Refresh” e aggiornare a mano ogni volta?

Non è quello che voglio, voglio che ad ogni accesso al workbook, mi venga caricata la versione più aggiornata del datasource. Vediamo come risolverla e quale è il problema.

La causa è il caching e la configurazione che abbiamo impostato su server. Che cosa ci serve oggettivamente e quante volte si aggiornano, o a che intervallo, i nostri dati? Rispondere a queste due domande è fondamentale prima di settare le impostazioni, dobbiamo capire che cosa è meglio per le nostre esigenze.

Ogni refresh che richiediamo è un’operazione del server, che si va ad accodare a tutte le altre operazioni già schedulate e presenti. Se mi ritrovo a lanciare spesso dei refresh, magari ogni volta che apro un workbook, posso intasare e quindi rallentare il server. Se poi non sono l’unico utente ma siamo una decina, capite che le cose si complicano.

Di default i dati vengono salvati nella cache e la prima cosa che fa Tableau server quando apro un workbook è andare a guardare se i relativi dati sono già nella cache oppure no.

Se ci sono, li carica, se invece non ci sono, invia una richiesta per un refresh e li mette nella cache per il prossimo accesso.

Ora capite che se i miei dati si aggiornano una volta al mese o ad intervalli regolari settimanli, bimensili o quant’altro, non ha molto senso continuare a mandare query al databse. E’ più conveniente e facile andarli a prendere dalla cache. Sono già lì, nulla è cambiato. Bisogna trovare una sorta di armonia tra la cache e l’aggiornamento dei dati, e questo lo possiamo capire solo noi.

Dobbiamo quindi cambiare le impostazioni e scegliere un refresh della cache a diversi intervalli di tempo. Ecco come possiamo farlo.

Andiamo su Tutti i programmi/Tutte le applicazioni > Tableau Server X.X > Configure Tableau Server dal menu di Windows. Prima di configurare qualsiasi cosa, fermate il server. E quando avete finito di configurare le data connections, fatelo ripartire.

Andiamo sulla tab Data Connections e specifichiamo il caching e l’iniziale richiesta SQL dal datasource.

caching 1

Per configurare possiamo scegliere tra queste opzioni:

  • Refresh Less Often – I dati vengono messi nella cache e riusati ogni volta sia necessario, senza badare a quando sono stati aggiunti alla cache. Questa opzione abbassa il numero di richieste inviate al database. Selezionate questa opzione i vostri dati non cambiano frequentemente. Dovrebbe migliorare le performance.
  • Balanced – I dati vengono rimossi dalla cache dopo un certo numero di minuti. Se i dati sono stati aggiunti alla cache all’interno di questo intervallo specifico, i dati nella cache verranno usati, altrimenti nuovi dati verranno richiesti al database.
  • Refresh More Often— Il database viene interrogato ogni volta che la pagina viene caricata. I dati vengono messi nella cache e sono riutilizzati ogni volta che l’utente aggiornerà la pagina. Pro: sempre aggiornati, al secondo quasi. Contro: potrebbe diminuire le performance a causa delle tante richieste.

Al di la di come il caching è configurato, l’utente può cliccare su Refresh Data Button sul toolbar e forzare il server a mandare una nuova richiesta per trovare nuovi dati.

Initial SQL

Quando ci si connette ad alcuni datasource, si può immettere un comando SQL iniziale che appare ogni volta che viene aperto il workbook, ad esempio aggiornare un extract, fare il sign in su Tableau Server o pubblicare su Tableau Server.
Se la vostra data source lo permette, troverete questa casellina, sempre nella tab Data Connections, sotto la parte del caching.  Si può togliere per motivi di sicurezza o per migliorare le performance.

caching 2

Grazie per la lettura e nella speranza che sia stato tutto chiaro, vi rimandiamo al nostro account Twitter, per dubbi, approfondimenti e domande varie @infolab

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.