连接池化功能可在 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+ | 否 |
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 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 | 否 |