Datenbankverbindungs-Pooling

Verbindungs-Pooling ermöglicht die Verwendung vorkonfigurierter Verbindungspools in den Datenbankdialekten Amazon Redshift, PostgreSQL und Snowflake.

Mit dieser Option kann Looker Verbindungspools über den JDBC-Treiber verwenden. Das Verbindungs-Datenbankpool ermöglicht eine schnellere Abfrageleistung. Eine neue Abfrage muss keine neue Datenbankverbindung erstellen, sondern kann eine vorhandene Verbindung aus dem Verbindungspool verwenden. Das Verbindungs-Pooling sorgt dafür, dass eine Verbindung nach der Ausführung einer Abfrage bereinigt wird und nach dem Ende der Abfrage wieder verwendet werden kann.

Aktivieren Sie das Labs-Feature Datenbankverbindungspooling, um das Verbindungs-Pooling zu aktivieren. Wenn die Labs-Funktion aktiviert ist und Sie einen Verbindungspool in Ihrer Datenbank konfiguriert haben und einen der oben aufgeführten Dialekte verwenden, verwendet Looker das Verbindungs-Pooling.

Beachten Sie bei der Verwendung von Verbindungspools Folgendes:

  • Mehrere Nutzer teilen sich einen Verbindungspool, wenn ihre Nutzerattributwerte identisch sind. Nutzer, die in ihren Nutzerattributen eindeutige oder unterschiedliche Werte haben, verwenden beim Herstellen einer Verbindung zur Datenbank eindeutige Verbindungspools.

  • Die maximale Anzahl von Verbindungen zu allen Verbindungspools über alle Datenbankknoten hinweg ist durch den Wert im Feld Max. Verbindungen auf der Seite Verbindung der Datenbank begrenzt.

  • Wenn die Anzahl der gleichzeitigen Abfragen an einen Verbindungspool die maximale Anzahl von Verbindungen überschreitet, werden Abfragen in Warteschlange gestellt, bis vorherige Abfragen ausgeführt wurden.

  • Durch eindeutige JDBC-Verbindungsstrings werden eindeutige Verbindungspools erstellt. Beispielsweise werden eindeutige Nutzernamen oder Datenbankgruppennamen, die die rollenbasierte Zugriffssteuerung für die Datenbank vorgeben, eindeutige JDBC-Verbindungsstrings erstellen, die dann eindeutige Verbindungspools erzeugen. Beispielsweise kann eine Finanzgruppe in einem Unternehmen eine Datenbankrolle haben, die ihnen Zugriff auf alle Tabellen in der Datenbank gewährt, aber das Vertriebs- und Marketingteam möglicherweise eine Datenbankrolle, die ihnen nur Zugriff auf einen Teil der Datenbanktabellen gewährt. In diesem Fall hat jede Gruppe einen eindeutigen JDBC-Verbindungsstring und einen eindeutigen Verbindungspool. Eine dritte Gruppe ist eine Gruppe von Powered-by-Looker (PBL)-Kunden, die eigene Zugriffsrechte für die Datenbank haben. Die PBL-Kunden haben außerdem einen eindeutigen JDBC-String und einen eindeutigen Verbindungspool. Sie haben somit auch eindeutige Verbindungen, die von den Finanz- oder Vertriebs- und Marketinggruppen nicht verwendet werden.

  • Die WHERE-Klausel in einer SQL-Abfrage führt nicht zu neuen Verbindungspools. Die WHERE-Klausel hat keine Auswirkungen auf den JDBC-Verbindungsstring. Daher wird kein neuer Verbindungspool erstellt. Zum Beispiel wird durch eindeutige Zugriffsfilter die SQL-Klausel WHERE in einer Abfrage geändert, nicht der JDBC-Verbindungsstring. Durch einzigartige Zugriffsfilter werden daher keine neuen Verbindungspools erstellt.

  • Wenn mehrere Verbindungspools erstellt werden, wird die maximale Anzahl der Verbindungen in mehrere Pools fragmentiert, wobei jeder Pool eine Teilmenge der verfügbaren Verbindungen enthält. Dies liegt daran, dass die Gesamtzahl der Verbindungen den maximalen Wert der Verbindung nicht überschreiten darf.