连接池可在 PostgreSQL 和 Snowflake 数据库方言中使用预配置的连接池。
如果您的方言支持数据库连接池,Looker 便可通过 JDBC 驱动程序使用连接池。数据库连接池可提高查询性能;新查询无需创建新的数据库连接,而是可以使用连接池中的现有连接。连接池功能可确保在查询执行后清理连接,并在查询执行结束后可供重复使用。
您可以在 Looker 中创建或修改数据库连接时,使用数据库连接池选项启用连接池。
如果满足以下所有条件,Looker 将在您的连接中使用连接池:
- 您使用的是支持数据库连接池的方言之一。
- Looker 连接中启用了数据库连接池 选项。
- 您已在数据库中配置连接池。
使用连接池时,请注意以下事项:
如果多个用户的用户属性值相同,则他们会共享一个连接池。如果用户的一组用户属性具有唯一值或不同的值,则在连接到数据库时,他们将使用唯一的连接池。
可以与所有数据库节点中的连接池建立的连接数上限受数据库的连接 页面中每个节点的最大连接数 字段中的值限制。
如果向连接池发出的并发查询数超过了最大连接数,则查询会在 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 | |
| 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 |