数据库连接池

连接池支持在 Amazon RedshiftPostgreSQLSnowflake 数据库方言上使用预配置的连接池。

此选项允许 Looker 通过 JDBC 驱动程序使用连接池。数据库连接池可提高查询性能;新查询不需要创建新的数据库连接,而是可以使用连接池中的现有连接。连接池功能可确保在查询执行后清理连接,并且在查询执行完成后可以重复使用。

如需启用连接池,请开启 Database Connection pooling“实验室”功能。启用实验室功能后,如果您在数据库上配置了连接池,并使用上面列出的某种方言,那么 Looker 将使用连接池。

使用连接池时,您需要考虑以下事项:

  • 如果多个用户的用户属性值相同,则这些用户共用一个连接池。如果用户的属性值在各自值中采用不同值,则系统会在连接到数据库时使用唯一的连接池。

  • 所有数据库节点可连接到的连接池的数量上限受数据库连接页面中每个节点的最大连接数字段中的值的限制。

  • 如果向连接池发出的并发查询数量超过连接数上限,查询会在 Looker 中排队,直到执行先前的查询。

  • 唯一的 JDBC 连接字符串可创建唯一连接池。例如,在说明对数据库的基于角色的访问权限控制时,唯一的数据库用户名或数据库组名称将创建唯一的 JDBC 连接字符串,进而创建唯一的连接池。例如,公司的财务组可能拥有数据库角色,该角色拥有该数据库所有表的访问权,但销售和营销团队可以具有数据库角色,该角色仅可访问部分数据库表。在这种情况下,每个群组都将具有唯一的 JDBC 连接字符串和唯一连接池。第三个组可能是一组对数据库拥有自行访问权限的嵌入式分析客户。嵌入式分析客户还会拥有唯一的 JDBC 字符串和唯一的连接池,因此他们还会拥有一组未被财务或销售和营销团队使用的唯一连接。

  • SQL 查询中的 WHERE 子句不会创建新的连接池。WHERE 子句对 JDBC 连接字符串没有影响,因此不会创建新的连接池。例如,唯一访问过滤器会修改查询中的 SQL WHERE 子句,而不是 JDBC 连接字符串,因此唯一访问过滤器不会创建新的连接池。

  • 创建多个连接池时,连接数上限会拆分为多个池,其中每个池都包含一部分可用连接。发生这种情况是因为连接总数不能超过连接数上限值。