O pool de conexões permite o uso de pools de conexões pré-configurados em PostgreSQL e Snowflake dialetos de banco de dados.
Se o dialeto for compatível, o pool de conexões de banco de dados permitirá que o Looker use pools de conexões pelo driver JDBC. O pool de conexões de banco de dados permite um desempenho de consulta mais rápido. Uma nova consulta não precisa criar uma nova conexão de banco de dados, mas pode usar uma conexão existente do pool de conexões. O recurso de pool de conexões garante que uma conexão seja limpa após a execução de uma consulta e esteja disponível para reutilização após o término da execução da consulta.
É possível ativar o pool de conexões usando a opção Pool de conexões de banco de dados ao criar ou editar uma conexão de banco de dados no Looker.
O Looker vai usar o pool de conexões na conexão se todas as condições a seguir forem verdadeiras:
- Você está usando um dos dialetos que oferecem suporte ao pool de conexões de banco de dados.
- A opção Pool de conexões de banco de dados está ativada na conexão do Looker.
- Você configurou pools de conexões no banco de dados.
Confira algumas coisas a considerar ao usar pools de conexões:
Vários usuários compartilham um pool de conexões se os valores dos atributos de usuário forem idênticos. Os usuários que têm valores exclusivos ou diferentes no conjunto de atributos de usuário vão usar pools de conexões exclusivos ao se conectar ao banco de dados.
O número máximo de conexões que podem ser feitas em pools de conexões em todos os nós de banco de dados é limitado pelo valor no campo Conexões máximas por nó na página Conexão do banco de dados.
Se o número de consultas simultâneas emitidas para um pool de conexões exceder o número máximo de conexões, as consultas serão enfileiradas no Looker até que as consultas anteriores sejam executadas.
Strings de conexão JDBC exclusivas criam pools de conexões exclusivos. Por exemplo, nomes de usuário ou de grupo de banco de dados exclusivos que determinam o controle de acesso baseado em papéis ao banco de dados vão criar strings de conexão JDBC exclusivas, que, por sua vez, criam pools de conexões exclusivos. Por exemplo, um grupo de finanças em uma empresa pode ter um papel de banco de dados que concede acesso a todas as tabelas do banco de dados, mas a equipe de vendas e marketing pode ter um papel de banco de dados que concede acesso apenas a um subconjunto das tabelas do banco de dados. Nesse caso, cada grupo teria uma string de conexão JDBC exclusiva e um pool de conexões exclusivo. Um terceiro grupo pode ser um conjunto de clientes de análise incorporada que têm os próprios direitos de acesso ao banco de dados. Os clientes de análise incorporada também teriam uma string JDBC exclusiva e um pool de conexões exclusivo. Portanto, eles também teriam um conjunto exclusivo de conexões que não estão em uso pelos grupos de finanças ou vendas e marketing.
A cláusula
WHEREem uma consulta SQL não causa novos pools de conexões. A cláusulaWHEREnão tem impacto na string de conexão JDBC, portanto, um novo pool de conexões não é criado. Por exemplo, filtros de acesso exclusivos modificam a cláusula SQLWHEREem uma consulta, não a string de conexão JDBC. Portanto, filtros de acesso exclusivos não criam novos pools de conexões.Quando vários pools de conexões são criados, o número máximo de conexões é fragmentado em vários pools, com cada pool contendo um subconjunto de conexões disponíveis. Isso ocorre porque o número total de conexões não pode exceder o valor máximo de conexões.
Suporte de dialeto para pool de conexões de banco de dados
A capacidade de usar o pool de conexões de banco de dados depende do dialeto de banco de dados que a conexão do Looker está usando. Na versão mais recente do Looker, os seguintes dialetos oferecem suporte ao pool de conexões de banco de dados:
| Dialeto | Compatível? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13+ | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |