La agrupación de conexiones permite usar grupos de conexiones preconfigurados en los dialectos de bases de datos Amazon Redshift, PostgreSQL y Snowflake.
Esta opción permite que Looker use grupos de conexiones a través del controlador JDBC. La agrupación de conexiones de bases de datos permite un rendimiento de consultas más rápido. No es necesario crear una conexión de base de datos nueva, sino que puede usar una conexión existente del grupo de conexiones. La función de agrupación de conexiones garantiza que se limpie una conexión después de que se ejecute una consulta y esté disponible para volver a usarla después de que finalice.
Para habilitar la agrupación de conexiones, activa la función de labs de Agrupación de conexiones de bases de datos. Cuando la función de Labs esté activada, si configuraste grupos de conexiones en tu base de datos y usas uno de los dialectos mencionados anteriormente, Looker usará la agrupación de conexiones.
Estos son algunos aspectos que debes tener en cuenta cuando uses grupos de conexiones:
Varios usuarios comparten un grupo de conexiones si los valores de sus atributos de usuario son idénticos. Los usuarios que tengan valores únicos o diferentes en su conjunto de atributos de usuario usarán grupos de conexiones únicos cuando se conecten a la base de datos.
La cantidad máxima de conexiones que se pueden realizar a los grupos de conexiones en todos los nodos de la base de datos está limitada por el valor del campo Conexiones máximas por nodo en la página Conexión de la base de datos.
Si la cantidad de consultas simultáneas que se emiten a un grupo de conexiones supera la cantidad máxima de conexiones, las consultas se ponen en cola en Looker hasta que se ejecutan las consultas anteriores.
Las strings de conexión de JDBC únicas crean grupos de conexión únicos. Por ejemplo, los nombres de usuario o grupos de bases de datos únicos que dictan el control de acceso basado en roles para la base de datos crearán strings de conexión de JDBC únicas, que luego crearán grupos de conexiones únicos. Por ejemplo, un grupo de finanzas de una empresa puede tener un rol de base de datos que le otorga acceso a todas las tablas de la base de datos, pero el equipo de ventas y marketing puede tener un rol de base de datos que le otorga acceso solo a un subconjunto de las tablas de base de datos. En este caso, cada grupo tendría una string de conexión de JDBC y un grupo de conexión únicos. Un tercer grupo puede ser un conjunto de clientes de estadísticas incorporadas que tienen sus propios derechos de acceso a la base de datos. Los clientes de estadísticas incorporados también tendrían una string de JDBC y un grupo de conexiones únicos, por lo que también tendrían un conjunto único de conexiones que los grupos de finanzas o ventas y marketing no usan.
La cláusula
WHERE
en una consulta en SQL no genera nuevos grupos de conexiones. La cláusulaWHERE
no afecta la string de conexión de JDBC, por lo que no se crea un grupo de conexiones nuevo. Por ejemplo, los filtros de acceso únicos modifican la cláusulaWHERE
de SQL en una consulta, no la string de conexión de JDBC, por lo que los filtros de acceso únicos no crearán nuevos grupos de conexiones.Cuando se crean varios grupos de conexiones, la cantidad máxima de conexiones se fragmenta en varios grupos, cada uno con un subconjunto de conexiones disponibles. Esto se debe a que la cantidad total de conexiones no puede exceder el valor máximo de conexiones.