接続プーリングを使用すると、PostgreSQL と Snowflake のデータベース言語で事前構成された接続プールを使用できます。
お使いの言語が接続プーリングに対応している場合、データベース接続プールにより、Looker は JDBC ドライバを介した接続のプールを使用できます。データベース接続プールにより、クエリのパフォーマンスが向上します。新しいクエリでデータベース接続を新しく作成する必要はありません。接続プールにある既存の接続を使用できます。接続プール機能により、クエリの実行後に接続がクリーンアップされ、クエリの実行の終了後に接続が再利用できるようになります。
Looker でデータベース接続を作成または編集する際に、データベース接続プーリング オプションを使用して接続プーリングを有効にできます。
次のすべてに該当する場合、Looker は接続で接続プーリングを使用します。
- データベース接続プーリングをサポートする言語のいずれかを使用している。
- Looker 接続で [データベース接続プーリング] オプションが有効になっている。
- データベースで接続プールを構成している。
接続プールを使用する際は、次の点に注意してください。
ユーザー属性値が同一の場合、複数のユーザーが接続プールを共有します。一連のユーザー属性に一意の値または異なる値があるユーザーは、データベースへの接続時に一意の接続プールを使用します。
すべてのデータベース ノードにまたがる接続プールに対して作成できる接続の最大数は、データベースの [接続] ページの [ノードあたりの最大接続数] で値が制限されています。
接続プールに対して発行される同時クエリの数が接続の最大数を超えると、前述のクエリが実行されるまで、クエリが Looker でキューに入れられます。
一意の JDBC 接続文字列は、一意の接続プールを作成します。たとえば、データベースへのロールベースのアクセス制御を規定する一意のデータベース ユーザー名またはデータベース グループ名を使用すると、一意の JDBC 接続文字列が作成され、一意の接続プールが作成されます。たとえば、会社の財務グループにはデータベース内のすべてのテーブルへのアクセス権を付与するデータベース ロールが割り当てられているが、営業マーケティング チームにはデータベース テーブルのサブセットへのアクセス権のみを付与するデータベース ロールが割り当てられている場合があります。この場合、各グループには一意の JDBC 接続文字列と一意の接続プールが設定されます。3 番目のグループは、データベースへの独自のアクセス権を持つ埋め込み分析のお客様のセットである可能性があります。埋め込み分析のお客様も一意の JDBC 文字列と一意の接続プールを持つため、財務グループや営業マーケティング グループで使用されていない一意の接続セットも持ちます。
SQL クエリの
WHERE句は、新しい接続プールを作成しません。WHERE句は JDBC 接続文字列に影響しないため、新しい接続プールは作成されません。たとえば、一意のアクセス フィルタは、JDBC 接続文字列ではなくクエリ内の SQLWHERE句を変更するため、一意のアクセス フィルタは新しい接続プールを作成しません。複数の接続プールが作成されると、接続の最大数が複数のプールに分割され、各プールには使用可能な接続のサブセットが含まれます。これは、接続の合計数が最大接続数を超えられないためです。
データベース接続プールに対する言語サポート
データベース接続プーリングを使用できるかどうかは、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 AlloyDB for PostgreSQL | |
| 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 |