資料庫連線集區

連線叢集可讓您在 PostgreSQLSnowflake 資料庫方言上使用預先設定的連線叢集。

如果方言支援,Looker 就能透過 JDBC 驅動程式使用資料庫連線集區。資料庫連線集區可提升查詢效能;新查詢不必建立新的資料庫連線,而是可以使用連線集區中的現有連線。連線集區功能可確保在查詢執行後清除連線,並在查詢執行結束後可供重複使用。

在 Looker 中建立編輯資料庫連線時,您可以使用「資料庫連線集區選項啟用連線集區。

如果符合下列所有條件,Looker 就會在連線中使用連線集區:

使用連線池時,請考量以下幾點:

  • 如果使用者屬性值相同,多位使用者會共用一個連線集區。如果使用者屬性組合中的值不重複或不同,使用者連線至資料庫時,就會使用不重複的連線集區。

  • 在所有資料庫節點中,連線集區可建立的連線數量上限,取決於資料庫「連線」頁面中「每個節點的連線數上限」欄位的值。

  • 如果向連線集區發出的並行查詢數量超過連線數量上限,系統會在 Looker 中將查詢排入佇列,直到先前的查詢執行完畢為止。

  • 不重複的 JDBC 連線字串會建立不重複的連線集區。舉例來說,如果資料庫使用者名稱或資料庫群組名稱是根據角色式存取權控管機制,則會建立專屬的 JDBC 連線字串,並建立專屬的連線集區。舉例來說,公司內的財務團隊可能擁有資料庫角色,可授予他們資料庫中所有資料表的存取權,但銷售和行銷團隊可能擁有資料庫角色,可授予他們僅部分資料庫表格的存取權。在這種情況下,每個群組都會有專屬的 JDBC 連線字串和連線集區。第三個群組可能是一組內嵌式 Analytics 客戶,他們擁有資料庫的存取權。嵌入式 Analytics 客戶也會有專屬的 JDBC 字串和連線集區,因此也會有專屬的一組連線,不會被財務或業務與行銷團隊使用。

  • SQL 查詢中的 WHERE 子句不會產生新的連線集區。WHERE 子句不會影響 JDBC 連線字串,因此不會建立新的連線集區。舉例來說,不重複的存取篩選器會修改查詢中的 SQL WHERE 子句,而非 JDBC 連線字串,因此不重複的存取篩選器不會建立新的連線集區。

  • 建立多個連線集區時,連線數量上限會分散到多個集區,每個集區都包含可用連線的子集。這是因為連線總數不得超過連線數量上限。

資料庫連線集區的方言支援

能否使用資料庫連線集區,取決於 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
Dremio
Dremio 11+
Exasol
Firebolt
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
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