연결 풀링을 사용 설정하면 PostgreSQL 및 Snowflake 데이터베이스 언어에서 사전 구성된 연결 풀을 사용할 수 있습니다.
해당 언어에서 지원하는 경우 데이터베이스 연결 풀링을 사용하면 Looker가 JDBC 드라이버를 통해 연결 풀을 사용할 수 있습니다. 데이터베이스 연결 풀링은 더 빠른 쿼리 성능을 가능하게 해줍니다. 새 쿼리를 수행할 때 새 데이터베이스 연결을 만들 필요가 없고 대신 연결 풀의 기존 연결을 사용할 수 있습니다. 연결 풀링 기능은 쿼리 실행 후 연결을 삭제하고 쿼리 실행이 종료된 후 연결을 재사용할 수 있도록 보장합니다.
Looker에서 데이터베이스 연결을 만들거나 수정할 때 데이터베이스 연결 풀링 옵션을 사용하여 연결 풀링을 사용 설정할 수 있습니다.
Looker는 다음 사항이 모두 참인 경우 연결에서 연결 풀링을 사용합니다.
- 데이터베이스 연결 풀링을 지원하는 언어 중 하나를 사용 중입니다.
- 데이터베이스 연결 풀링 옵션이 Looker 연결에서 사용 설정됩니다.
- 데이터베이스에 연결 풀을 구성했습니다.
연결 풀을 사용할 때의 몇 가지 유의사항이 있습니다.
사용자 속성 값이 동일하면 여러 사용자가 연결 풀을 공유합니다. 사용자 속성 집합에서 값이 고유하거나 서로 다른 사용자는 데이터베이스에 연결할 때 고유한 연결 풀을 사용합니다.
모든 데이터베이스 노드에서 연결 풀에 수행할 수 있는 최대 연결 수는 데이터베이스의 연결 페이지에 있는 노드당 최대 연결 수 필드에 있는 값으로 제한됩니다.
연결 풀에서 수행되는 동시 쿼리 수가 최대 연결 수를 초과하면 이전 쿼리가 실행될 때까지 쿼리가 Looker에서 큐에 추가됩니다.
고유한 JDBC 연결 문자열은 고유한 연결 풀을 만듭니다. 예를 들어 데이터베이스에 대해 역할 기반의 액세스 제어를 지시하는 고유한 데이터베이스 사용자 이름 또는 데이터베이스 그룹 이름은 고유한 JDBC 연결 문자열을 만든 다음 고유한 연결 풀을 만듭니다. 예를 들어 회사의 재무 그룹은 데이터베이스의 모든 테이블에 대해 액세스 권한을 부여하는 데이터베이스 역할을 가질 수 있지만, 영업 및 마케팅팀은 데이터베이스 테이블 중 일부에만 액세스 권한을 부여하는 데이터베이스 역할을 가질 수 있습니다. 이 경우 각 그룹은 고유한 JDBC 연결 문자열 및 고유한 연결 풀을 갖습니다. 세 번째 그룹은 데이터베이스에 대해 자체 액세스 권한을 가진 삽입된 분석 고객 집합일 수 있습니다. 삽입된 분석 고객은 고유한 JDBC 문자열 및 고유한 연결 풀을 갖게 되므로, 재무 또는 영업 및 마케팅 그룹에서 사용되지 않는 고유한 연결 집합을 갖습니다.
SQL 쿼리의
WHERE
절은 새 연결 풀을 일으키지 않습니다.WHERE
절은 JDBC 연결 문자열에 영향을 주지 않으므로 새 연결 풀이 생성되지 않습니다. 예를 들어 고유한 액세스 필터는 JDBC 연결 문자열이 아닌 쿼리에서 SQLWHERE
절을 수정하므로 고유한 액세스 필터가 새 연결 풀을 만들지 않습니다.여러 연결 풀이 생성될 때 최대 연결 수는 여러 풀로 파편화되고, 각 풀에 사용 가능한 연결 하위 집합이 포함됩니다. 이렇게 되는 이유는 최대 연결 수가 최대 연결 값을 초과할 수 없기 때문입니다.
데이터베이스 연결 풀링을 위한 언어 지원
데이터베이스 연결 풀링을 사용할 수 있는지 여부는 Looker 연결에서 사용하는 데이터베이스 언어에 따라 다릅니다. Looker의 최신 출시 버전에서는 다음 언어가 데이터베이스 연결 풀링을 지원합니다.
언어 | 지원 여부 |
---|---|
Actian Avalanche | 아니요 |
Amazon Athena | 아니요 |
Amazon Aurora MySQL | 아니요 |
Amazon Redshift | No |
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 이상 | 아니요 |
네이티브 드라이버를 사용하는 Cloudera Impala | 아니요 |
DataVirtuality | 아니요 |
Databricks | 아니요 |
Denodo 7 | 아니요 |
Denodo 8 | 아니요 |
Dremio | 아니요 |
Dremio 11 이상 | 아니요 |
Exasol | 아니요 |
Firebolt | 아니요 |
Google BigQuery Legacy SQL | 아니요 |
Google BigQuery 표준 SQL | 아니요 |
Google Cloud PostgreSQL | 예 |
Google Cloud SQL | 아니요 |
Google Spanner | 아니요 |
Greenplum | 예 |
HyperSQL | 아니요 |
IBM Netezza | 아니요 |
MariaDB | 아니요 |
Microsoft Azure PostgreSQL | 예 |
Microsoft Azure SQL 데이터베이스 | 아니요 |
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 2 이상 | 아니요 |
SingleStore | 아니요 |
SingleStore 7 이상 | 아니요 |
Snowflake | 예 |
Teradata | 아니요 |
Trino | 아니요 |
벡터 | 아니요 |
Vertica | No |