Il pool di connessioni consente di utilizzare pool di connessioni preconfigurati sui dialetti di database Amazon Redshift, PostgreSQL e Snowflake.
Questa opzione consente a Looker di utilizzare pool di connessioni tramite il driver JDBC. Il pool di connessioni al database consente prestazioni più rapide delle query; una nuova query non deve creare una nuova connessione al database, ma può utilizzare una connessione esistente dal pool di connessioni. La funzionalità di pool di connessioni assicura che la connessione venga ripulita dopo l'esecuzione di una query e che sia disponibile per il riutilizzo dopo l'esecuzione.
Per abilitare il pool di connessioni, attiva la funzionalità Pooling di connessione al database. Quando la funzionalità Labs è attiva, se hai configurato pool di connessioni nel tuo database e utilizzi uno dei dialetti elencati sopra, Looker utilizzerà il pool di connessioni.
Ecco alcuni aspetti da considerare quando utilizzi i pool di connessioni:
Più utenti condividono un pool di connessioni se i valori degli attributi utente sono identici. Gli utenti che hanno valori univoci o diversi nell'insieme di attributi utente utilizzeranno pool di connessioni univoci quando si connettono al database.
Il numero massimo di connessioni che possono essere stabilite per i pool di connessioni in tutti i nodi del database è limitato dal valore nel campo Max connections per node nella pagina Connection del database.
Se il numero di query in uscita inviate a un pool di connessioni supera il numero massimo di connessioni, le query vengono messe in coda in Looker fino all'esecuzione delle query precedenti.
Le stringhe di connessione JDBC univoche creano pool di connessioni univoci. Ad esempio, nomi utente o nomi di gruppo di database univoci che dettano il controllo dell'accesso basato sui ruoli al database creano stringhe di connessione JDBC univoche, che creano pool di connessioni univoci. Ad esempio, un gruppo finanziario di un'azienda potrebbe avere un ruolo database che concede loro l'accesso a tutte le tabelle nel database, ma il team di vendita e marketing può avere un ruolo database che concede loro l'accesso solo a un sottoinsieme delle tabelle database. In questo caso, ogni gruppo avrà una stringa di connessione JDBC univoca e un pool di connessioni univoco. Un terzo gruppo può essere costituito da un insieme di clienti di funzionalità di analisi incorporate che detengono i propri diritti di accesso al database. I clienti dell'analisi incorporata avevano anche una stringa JDBC univoca e un pool di connessioni univoco, quindi avevano anche un insieme univoco di connessioni che non erano utilizzate dai gruppi finanziari o di vendita e marketing.
La clausola
WHERE
in una query SQL non causa nuovi pool di connessioni. La clausolaWHERE
non ha alcun impatto sulla stringa di connessione JDBC, quindi non viene creato un nuovo pool di connessioni. Ad esempio, i filtri di accesso univoci modificano la clausolaWHERE
di SQL in una query, non nella stringa di connessione JDBC, quindi i filtri di accesso univoci non creano nuovi pool di connessioni.Quando vengono creati più pool di connessioni, il numero massimo di connessioni viene frammentato in più pool e ciascun pool contiene un sottoinsieme di connessioni disponibili. Questo accade perché il numero totale di connessioni non può superare il valore massimo.