Le pooling de connexions permet d'utiliser des pools de connexions préconfigurés sur les dialectes de base de données PostgreSQL et Snowflake.
Si votre dialecte le permet, le regroupement de connexions de base de données permet à Looker d'utiliser des pools de connexions via le pilote JDBC. Le regroupement de connexions à la base de données permet d'améliorer les performances des requêtes. En effet, une nouvelle requête n'a pas besoin de créer une connexion à la base de données, mais peut utiliser une connexion existante à partir du pool de connexions. La fonctionnalité de mise en pool des connexions garantit qu'une connexion est nettoyée après l'exécution d'une requête et qu'elle est disponible pour être réutilisée une fois l'exécution de la requête terminée.
Vous pouvez activer le pool de connexions à l'aide de l'option Pool de connexions à la base de données lorsque vous créez ou modifiez une connexion à une base de données dans Looker.
Looker utilisera le pooling de connexions sur votre connexion si toutes les conditions suivantes sont remplies :
- Vous utilisez l'un des dialectes compatibles avec le regroupement de connexions de base de données.
- L'option Regroupement de connexions à la base de données est activée sur la connexion Looker.
- Vous avez configuré des pools de connexions sur votre base de données.
Voici quelques points à prendre en compte lorsque vous utilisez des pools de connexions :
Plusieurs utilisateurs partagent un pool de connexions si les valeurs de leurs attributs utilisateur sont identiques. Les utilisateurs dont l'ensemble d'attributs utilisateur comporte des valeurs uniques ou différentes utiliseront des pools de connexion uniques lorsqu'ils se connecteront à la base de données.
Le nombre maximal de connexions pouvant être établies aux pools de connexions sur tous les nœuds de base de données est limité par la valeur du champ Nombre maximal de connexions par nœud sur la page Connexion de la base de données.
Si le nombre de requêtes simultanées envoyées à un pool de connexions dépasse le nombre maximal de connexions, les requêtes sont mises en file d'attente dans Looker jusqu'à ce que les requêtes précédentes soient exécutées.
Des chaînes de connexion JDBC uniques créent des pools de connexion uniques. Par exemple, des noms d'utilisateur ou de groupe de base de données uniques qui dictent le contrôle des accès basé sur les rôles à la base de données créeront des chaînes de connexion JDBC uniques, qui créeront ensuite des pools de connexion uniques. Par exemple, un groupe financier d'une entreprise peut disposer d'un rôle de base de données qui lui donne accès à toutes les tables de la base de données, tandis que l'équipe commerciale et marketing peut disposer d'un rôle de base de données qui lui donne accès à un sous-ensemble des tables de la base de données. Dans ce cas, chaque groupe disposerait d'une chaîne de connexion JDBC et d'un pool de connexions uniques. Un troisième groupe peut être un ensemble de clients d'analyse intégrée qui disposent de leurs propres droits d'accès à la base de données. Les clients d'analyse intégrée disposent également d'une chaîne JDBC et d'un pool de connexions uniques. Ils ont donc aussi un ensemble unique de connexions qui ne sont pas utilisées par les groupes Finance, et Ventes et marketing.
La clause
WHERE
dans une requête SQL ne provoque pas de nouveaux pools de connexions. La clauseWHERE
n'a aucun impact sur la chaîne de connexion JDBC. Par conséquent, aucun pool de connexions n'est créé. Par exemple, les filtres d'accès uniques modifient la clauseWHERE
SQL d'une requête, et non la chaîne de connexion JDBC. Ils ne créeront donc pas de nouveaux pools de connexions.Lorsque plusieurs pools de connexions sont créés, le nombre maximal de connexions est fragmenté en plusieurs pools, chacun contenant un sous-ensemble des connexions disponibles. Cela se produit parce que le nombre total de connexions ne peut pas dépasser la valeur maximale de connexions.
Prise en charge des dialectes pour le regroupement de connexions de base de données
La possibilité d'utiliser le regroupement de connexions à la base de données dépend du dialecte de base de données de votre connexion Looker. Dans la dernière version de Looker, les dialectes suivants sont compatibles avec le regroupement de connexions à la base de données :
Dialecte | Compatibilité |
---|---|
Actian Avalanche | Non |
Amazon Athena | Non |
Amazon Aurora MySQL | Non |
Amazon Redshift | Non |
Amazon Redshift 2.1+ | Non |
Amazon Redshift Serverless 2.1+ | Non |
Apache Druid | Non |
Apache Druid 0.13+ | Non |
Apache Druid 0.18+ | Non |
Apache Hive 2.3+ | Non |
Apache Hive 3.1.2+ | Non |
Apache Spark 3+ | Non |
ClickHouse | Non |
Cloudera Impala 3.1+ | Non |
Cloudera Impala 3.1+ with Native Driver | Non |
Cloudera Impala with Native Driver | Non |
DataVirtuality | Non |
Databricks | Non |
Denodo 7 | Non |
Denodo 8 & 9 | Non |
Dremio | Non |
Dremio 11+ | Non |
Exasol | Non |
Firebolt | Non |
Google BigQuery Legacy SQL | Non |
Google BigQuery Standard SQL | Non |
Google Cloud PostgreSQL | Oui |
Google Cloud SQL | Non |
Google Spanner | Non |
Greenplum | Oui |
HyperSQL | Non |
IBM Netezza | Non |
MariaDB | Non |
Microsoft Azure PostgreSQL | Oui |
Microsoft Azure SQL Database | Non |
Microsoft Azure Synapse Analytics | Non |
Microsoft SQL Server 2008+ | Non |
Microsoft SQL Server 2012+ | Non |
Microsoft SQL Server 2016 | Non |
Microsoft SQL Server 2017+ | Non |
MongoBI | Non |
MySQL | Non |
MySQL 8.0.12+ | Non |
Oracle | Non |
Oracle ADWC | Non |
PostgreSQL 9.5+ | Oui |
PostgreSQL pre-9.5 | Oui |
PrestoDB | Non |
PrestoSQL | Non |
SAP HANA | Non |
SAP HANA 2+ | Non |
SingleStore | Non |
SingleStore 7+ | Non |
Snowflake | Oui |
Teradata | Non |
Trino | Non |
Vector | Non |
Vertica | Non |