连接池允许在 PostgreSQL 和 Snowflake 数据库方言上使用预配置的连接池。
如果你的方言支持它,数据库连接池使 Looker 能够通过 JDBC 驱动程序使用连接池。数据库连接池可以提高查询性能;新的查询不需要创建新的数据库连接,而是可以使用连接池中现有的连接。连接池功能可确保在查询执行后清理连接,并在查询执行结束后可供重用。
您可以使用以下方式启用连接池:数据库连接池当你选择时创造或者编辑Looker 中的数据库连接。
如果满足以下所有条件,Looker 将对您的连接使用连接池:
- 你正在使用支持数据库连接池的 方言之一。
- Looker 连接上启用了 数据库连接池 选项。
- 您已在数据库上配置了连接池。
使用连接池时需要考虑以下几点:
如果多个用户的用户属性值相同,则它们共享一个连接池。用户属性集中具有唯一值或不同值的用户在连接数据库时将使用唯一的连接池。
数据库所有节点上可建立的连接池的最大连接数受数据库 Connection 页面中 每个节点的最大连接数 字段的值的限制。
如果向连接池发出的并发查询数超过最大连接数,则查询会在 Looker 中排队,直到之前的查询执行完毕。
唯一的 JDBC 连接字符串会创建唯一的连接池。例如,唯一数据库用户名或数据库组名称(用于规定基于角色的数据库访问权限控制)将创建唯一 JDBC 连接字符串,进而创建唯一连接池。例如,公司中的财务团队可能拥有一个数据库角色,该角色允许他们访问数据库中的所有表,但销售和营销团队可能拥有一个数据库角色,该角色只允许他们访问数据库表的一个子集。在这种情况下,每个组都将拥有唯一的 JDBC 连接字符串和唯一的连接池。第三组可能是一组嵌入式分析客户,他们拥有自己的数据库访问权限。嵌入式分析客户还将拥有独特的 JDBC 字符串和独特的连接池,因此他们也将拥有一组独特的连接,这些连接不会被财务或销售和营销部门使用。
SQL 查询中的
WHERE子句不会创建新的连接池。WHERE子句对 JDBC 连接字符串没有影响,因此不会创建新的连接池。例如,独特的访问过滤器修改 SQLWHERE查询中的子句,而不是 JDBC 连接字符串,因此唯一访问过滤器不会创建新的连接池。创建多个连接池时,最大连接数将被分割成多个池,每个池包含可用连接的一个子集。这是因为连接总数不能超过最大连接数。
数据库连接池的方言支持
能否使用数据库连接池取决于 Looker 连接所使用的数据库方言。在最新发布的 Looker 版本中,以下方言支持数据库连接池:
| 方言 | 是否支持? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| 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 | |
| MongoSQL | |
| 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 |