해당 언어에서 지원하는 경우 데이터베이스 연결 풀링을 사용하면 Looker가 JDBC 드라이버를 통해 연결 풀을 사용할 수 있습니다. 데이터베이스 연결 풀링은 더 빠른 쿼리 성능을 가능하게 해줍니다. 새 쿼리를 수행할 때 새 데이터베이스 연결을 만들 필요가 없고 대신 연결 풀의 기존 연결을 사용할 수 있습니다. 연결 풀링 기능은 쿼리 실행 후 연결을 삭제하고 쿼리 실행이 종료된 후 연결을 재사용할 수 있도록 보장합니다.
Looker에서 데이터베이스 연결을 만들거나수정할 때 데이터베이스 연결 풀링 옵션을 사용하여 연결 풀링을 사용 설정할 수 있습니다.
사용자 속성 값이 동일하면 여러 사용자가 연결 풀을 공유합니다. 사용자 속성 집합에서 값이 고유하거나 서로 다른 사용자는 데이터베이스에 연결할 때 고유한 연결 풀을 사용합니다.
모든 데이터베이스 노드에서 연결 풀에 수행할 수 있는 최대 연결 수는 데이터베이스의 연결 페이지에 있는 노드당 최대 연결 수 필드에 있는 값으로 제한됩니다.
연결 풀에서 수행되는 동시 쿼리 수가 최대 연결 수를 초과하면 이전 쿼리가 실행될 때까지 쿼리가 Looker에서 큐에 추가됩니다.
고유한 JDBC 연결 문자열은 고유한 연결 풀을 만듭니다. 예를 들어 데이터베이스에 대해 역할 기반의 액세스 제어를 지시하는 고유한 데이터베이스 사용자 이름 또는 데이터베이스 그룹 이름은 고유한 JDBC 연결 문자열을 만든 다음 고유한 연결 풀을 만듭니다. 예를 들어 회사의 재무 그룹은 데이터베이스의 모든 테이블에 대해 액세스 권한을 부여하는 데이터베이스 역할을 가질 수 있지만, 영업 및 마케팅팀은 데이터베이스 테이블 중 일부에만 액세스 권한을 부여하는 데이터베이스 역할을 가질 수 있습니다. 이 경우 각 그룹은 고유한 JDBC 연결 문자열 및 고유한 연결 풀을 갖습니다. 세 번째 그룹은 데이터베이스에 대해 자체 액세스 권한을 가진 삽입된 분석 고객 집합일 수 있습니다. 삽입된 분석 고객은 고유한 JDBC 문자열 및 고유한 연결 풀을 갖게 되므로, 재무 또는 영업 및 마케팅 그룹에서 사용되지 않는 고유한 연결 집합을 갖습니다.
SQL 쿼리의 WHERE 절은 새 연결 풀을 일으키지 않습니다. WHERE 절은 JDBC 연결 문자열에 영향을 주지 않으므로 새 연결 풀이 생성되지 않습니다. 예를 들어 고유한 액세스 필터는 JDBC 연결 문자열이 아닌 쿼리에서 SQL WHERE 절을 수정하므로 고유한 액세스 필터가 새 연결 풀을 만들지 않습니다.
여러 연결 풀이 생성될 때 최대 연결 수는 여러 풀로 파편화되고, 각 풀에 사용 가능한 연결 하위 집합이 포함됩니다. 이렇게 되는 이유는 최대 연결 수가 최대 연결 값을 초과할 수 없기 때문입니다.
데이터베이스 연결 풀링을 위한 언어 지원
데이터베이스 연결 풀링을 사용할 수 있는지 여부는 Looker 연결에서 사용하는 데이터베이스 언어에 따라 다릅니다. 최신 버전의 Looker에서는 다음 언어가 데이터베이스 연결 풀링을 지원합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[],[],null,["# Database connection pooling\n\nConnection pooling enables the use of preconfigured connection pools on [PostgreSQL](/looker/docs/db-config-postgresql) and [Snowflake](/looker/docs/db-config-snowflake) database dialects.\n\n[If your dialect supports it](#dialect_support_for_database_connection_pooling), database connection pooling enables Looker to use pools of connections through the JDBC driver. Database connection pooling enables faster query performance; a new query does not need to create a new database connection but can instead use an existing connection from the connection pool. The connection pooling capability ensures that a connection is cleaned up after a query execution and is available for reuse after the query execution ends.\n\nYou can enable connection pooling using the [**Database Connection Pooling**](/looker/docs/admin-panel-general-labs#database_connection_pooling) option when you [create](/looker/docs/connecting-to-your-db) or [edit](/looker/docs/admin-panel-database-connections#editing_connections) a database connection in Looker.\n| **Note:** Database connection pooling was previously a Looker [Labs](/looker/docs/admin-panel-general-labs) feature. When **Database Connection Pooling** moved out of Labs, Looker automatically applied the **Database Connection Pooling** Labs setting to the **Database Connection Pooling** connection setting for any database connections on your instance that support connection pooling.\n\nLooker will use connection pooling on your connection if all of the following are true:\n\n- You are using one of the [dialects that support database connection pooling](#dialect_support_for_database_connection_pooling).\n- The **Database Connection Pooling** option is enabled on the Looker connection.\n- You have configured connection pools on your database.\n\nHere are some things to consider when you're using connection pools:\n\n- Multiple users share a connection pool if their user attribute values are identical. Users who have unique or differing values in their set of user attributes will use unique connection pools when connecting to the database.\n\n- The maximum number of connections that can be made to connection pools across all database nodes is limited by the value in the [**Max connections per node**](/looker/docs/connecting-to-your-db#max_connections) field in the database's **Connection** page.\n\n- If the number of concurrent queries being issued to a connection pool exceeds the maximum number of connections, queries are queued in Looker until prior queries are executed.\n\n- Unique JDBC connection strings create unique connection pools. For example, unique database usernames or database group names that dictate role-based access control to the database will create unique JDBC connection strings, which then create unique connection pools. For example, a finance group in a company may have a database role that grants them access to all tables in the database, but the sales and marketing team may have a database role that grants them access to only a subset of the database tables. In this case, each group would have a unique JDBC connection string and a unique connection pool. A third group might be a set of [embedded analytics](/looker/docs/single-sign-on-embedding) customers who have their own access rights to the database. The embedded analytics customers would also have a unique JDBC string and a unique connection pool, so they would also have a unique set of connections that are not in use by the finance or sales and marketing groups.\n\n- The `WHERE` clause in a SQL query does not cause new connection pools. The `WHERE` clause has no impact on the JDBC connection string, so a new connection pool is not created. For example, unique [access filters](/looker/docs/reference/param-explore-access-filter) modify the SQL `WHERE` clause in a query, not the JDBC connection string, so unique access filters won't create new connection pools.\n\n- When multiple connection pools are created, the maximum number of connections is fragmented into multiple pools, with each pool containing a subset of available connections. This occurs because the total number of connections cannot exceed the maximum connections value.\n\nDialect support for database connection pooling\n-----------------------------------------------\n\nThe ability to use database connection pooling depends on the database dialect your Looker connection is using. In the latest release of Looker, the following dialects support database connection pooling:"]]