Netzwerk-Datenverkehr verschlüsseln
Es empfiehlt sich, den Netzwerkverkehr zwischen Looker-Anwendung und Datenbank zu verschlüsseln. Prüfen Sie eine der Optionen, die auf der Dokumentationsseite Sicheren Datenbankzugriff ermöglichen beschrieben werden.
Wenn Sie an der Verwendung von SSL-Verschlüsselung interessiert sind, informieren Sie sich in der MySQL RDS-Dokumentation.
Optionen
Aus Leistungsgründen werden mit Looker häufig schreibgeschützte Replikate von Datenbanken verwendet, die auch als Lesereplikate bezeichnet werden. Dadurch wird die Produktionsdatenbank entlastet, sodass sie ihre Hauptfunktion ohne Abfragen ausführen kann, die sie möglicherweise verlangsamen.
In diesem Dokument wird beschrieben, wie Sie:
- eine vorhandene Replikationsdatenbank für die Verwendung mit Looker ändern
- eine neue Lesereplikationsdatenbank erstellen und für die Verwendung mit Looker konfigurieren
Vorhandenes Replikat ändern
Benutzer und Sicherheit
Ändern Sie <some_password_here> in ein eindeutiges, sicheres Passwort:
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';
RDS und temporäre Tabellen
Für RDS-Lesereplikate ist standardmäßig ein schreibgeschütztes Flag aktiviert, das verhindert, dass Looker in temporäre Tabellen schreibt. Looker ändert niemals vorhandene Daten, aber MySQL benötigt Schreibzugriff, um temporäre Tabellen zu verwenden. Dieses Problem lässt sich beheben, indem Sie das Flag in RDS ändern. Aus den RDS-FAQs:
F: Können meine Lesereplikate nur Datenbanklesevorgänge akzeptieren?
Lesereplikate sind für die Verarbeitung von Lesetraffic konzipiert. Es kann jedoch Anwendungsfälle geben, in denen fortgeschrittene Nutzer SQL-Anweisungen der Data Definition Language (DDL) für ein Lesereplikat ausführen möchten. Beispiele hierfür sind das Hinzufügen eines Datenbankindex zu einem Lesereplikat, das für die Geschäftsberichterstattung verwendet wird, ohne denselben Index zur entsprechenden Quelldatenbankinstanz hinzuzufügen.
Amazon RDS für MySQL kann so konfiguriert werden, dass DDL-SQL-Anweisungen für ein Lesereplikat zulässig sind. Wenn Sie für ein bestimmtes Lesereplikat andere Vorgänge als Lesevorgänge aktivieren möchten, ändern Sie die aktive Datenbankparametergruppe für das Lesereplikat und setzen Sie den read_only Parameter auf 0.
Amazon RDS für PostgreSQL unterstützt derzeit nicht die Ausführung von DDL-SQL-Anweisungen für ein Lesereplikat.
Wenn Sie die Datenbankparametergruppe ändern, müssen Sie das Lesereplikat neu starten, damit die Änderungen wirksam werden.
Datenbank erstellen und Berechtigungen gewähren
Erstellen Sie eine temporäre Datenbank und gewähren Sie dem Nutzer looker die Berechtigung, in diese zu schreiben. Die Anweisung CREATE TEMPORARY in MySQL muss aus Berechtigungsgründen mit einer Datenbank verknüpft sein.
looker_tmpCREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
Neues Replikat erstellen
Mit AWS RDS können nur Lesereplikate mit Datenbankinstanzen erstellt werden, für die die Backup Retention (Aufbewahrungsdauer für Sicherungen) aktiviert ist.
Schritte vor AWS
Schritt 1
mysql in die Datenbank, die die primäre Datenbankinstanz sein soll:
mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p
Schritt 2
Erstellen Sie einen Nutzer namens looker (ersetzen Sie <some_password_here> durch ein eindeutiges, sicheres Passwort):
CREATE USER looker IDENTIFIED BY '<some_password_here>';
Schritt 3
Erstellen Sie eine temporäre Datenbank und gewähren Sie Looker Leseberechtigungen für andere Datenbanken und Tabellen. Looker schreibt in der Regel nicht in die Datenbank looker_tmp, sondern verwendet sie, um CREATE TEMPORARY TABLE-Befehle auszuführen.
looker_tmpCREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
GRANT
SELECT,
SHOW DATABASES
ON *.* TO 'looker'@'%';
Schritt 4
Berechtigungen leeren:
FLUSH PRIVILEGES;
AWS-Schritte
Schritt 1
Melden Sie sich an und rufen Sie das AWS-Dashboard auf. Wählen Sie im Bereich Database (Datenbank) die Option RDS aus.

Schritt 2
Wählen Sie auf dem RDS-Dashboard die Datenbankinstanz aus, die Sie als primäre Datenbank festlegen möchten. Wählen Sie Instance Actions (Instanzaktionen) und dann Create Read Replica (Lesereplikat erstellen) aus.

Schritt 3
Konfigurieren Sie im Pop-up-Fenster Create Read Replica DB Instance (Lesereplikat-Datenbankinstanz erstellen) die Lesereplikationsdatenbank und wählen Sie Yes, Create Read Replica (Ja, Lesereplikat erstellen) aus.

Schritt 4
Während Sie warten, bis die Lesereplikationsdatenbank erstellt wurde, können Sie die DB Parameter Group (Datenbankparametergruppe) einrichten. Sie enthält die Konfigurationswerte für die Engine, die auf die Lesereplikationsdatenbankinstanz angewendet werden. Wählen Sie in der Seitenleiste die Seite DB Parameter Groups (Datenbankparametergruppen) und dann die Schaltfläche Create DB Parameter Group (Datenbankparametergruppe erstellen) aus.

Schritt 5
Wählen Sie die DB Parameter Group Family (Datenbankparametergruppenfamilie) und den DB Parameter Group Name (Namen der Datenbankparametergruppe) aus und geben Sie eine DB Parameter Group Description (Beschreibung der Datenbankparametergruppe) ein. Wählen Sie dann Yes, Create (Ja, erstellen) aus.
Schritt 6
Wählen Sie das Lupensymbol in der Zeile mit der Parametergruppe der Lesereplikationsdatenbank aus oder wählen Sie diese Zeile aus und wählen Sie Edit Parameters (Parameter bearbeiten) aus.
Schritt 7
Suchen Sie im Feld Filters unter Parameters nach "read_only". Ändern Sie den Parameterwert in 0. Wählen Sie dann Save Changes (Änderungen speichern) aus.
Schritt 8
Wenn die Erstellung des Lesereplikats abgeschlossen ist, wählen Sie es in der Liste der Datenbankinstanzen aus, wählen Sie die Schaltfläche Instance Action (Instanzaktion) und dann Modify (Ändern) aus.
Schritt 9
Ändern Sie im Pop-up-Fenster Modify DB Instance (Datenbankinstanz ändern) die Parameter Group (Parametergruppe) der Datenbankinstanz in die neue Parametergruppe des Lesereplikats. Klicken Sie dann auf das Kästchen Apply Immediately (Sofort anwenden), wählen Sie Continue (Weiter) und dann Modify DB Instance (Datenbankinstanz ändern) aus.
Schritt 10
Stellen Sie mit dem MySQL-Client eine Verbindung zur Lesereplikationsdatenbankinstanz als looker her und prüfen Sie, ob auf die Daten zugegriffen werden kann.
Looker-Verbindung zu Ihrer Datenbank erstellen
Wählen Sie in Looker im Bereich Admin die Option Connections (Verbindungen) und dann Add Connection (Verbindung hinzufügen) aus.
Geben Sie die Verbindungsdetails ein. Der Großteil der Einstellungen ist für die meisten Datenbankdialekte gleich. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
Klicken Sie auf Test, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankverbindung für vom Kunden gehostete Instanzen testen.
Klicken Sie auf Connect (Verbinden), um diese Einstellungen zu speichern.
Unterstützte JDBC-Parameter
Für Amazon RDS für MySQL unterstützt Looker die folgenden JDBC-Parameter im Feld Additional JDBC parameters (Zusätzliche JDBC-Parameter) für die Verbindung. Informationen zu diesen Parametern finden Sie in der Dokumentation zu Ihrer Datenbank.
allowMultiQueriesautocommitcharacterSetResultsclientCertificateKeyStorePasswordclientCertificateKeyStoreUrlconnectionAttributesconnectionCollationconnectionTimeZoneconnectTimeoutdefaultAuthenticationPlugindisableSslHostnameVerificationdisconnectOnExpiredPasswordsenabledSslCipherSuitesfailOverReadOnlyfallbackToSystemTrustStoreforceConnectionTimeZoneToSessioninteractiveClientlookerFailovermaxIdleTimemaxQuerySizeToLogoldModeNoPrecisionTimestamppasswordpasswordCharacterEncodingpermitMysqlSchemepinGlobalTxToPhysicalConnectionpreserveInstantsqueryInterceptorsrestrictedAuthrewriteBatchedStatementssocketTimeoutsslModetcpKeepAlivetrustCertificateKeyStorePasswordtrustCertificateKeyStoreUrluseCompressionusePipelineAuthuseruseServerPrepStmtsverifyServerCertificateyearIsDateType
Funktionsunterstützung
Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.
MySQL unterstützt ab Looker 26.12 die folgenden Funktionen:
| Funktion | Unterstützt? |
|---|---|
| Looker (Google Cloud Core) | |
| Symmetrische Aggregate | |
| Abgeleitete Tabellen | |
| Persistente abgeleitete SQL-Tabellen | |
| Persistente native abgeleitete Tabellen | |
| Stabile Ansichten | |
| Abfrageeabruch | |
| SQL-basierte Pivottabellen | |
| Zeitzonen | |
| SSL | |
| Zwischensummen | |
| Zusätzliche JDBC-Parameter | |
| Groß- und Kleinschreibung | |
| Standorttyp | |
| Listentyp | |
| Perzentil | |
| Perzentil der unterschiedlichen Werte | |
| SQL Runner-Befehl – Prozesse anzeigen | |
| SQL-Runner-Funktion – Tabelle beschreiben | |
| SQL Runner-Befehl – Indexe anzeigen | |
| SQL Runner-Befehl – 10 auswählen | |
| SQL-Runner – Anzahl | |
| SQL – Erklären | |
| OAuth 2.0-Anmeldedaten | |
| Kontextkommentare | |
| Verbindungs-Pooling | |
| HLL-Skizzen | |
| Aggregate Awareness | |
| Inkrementelle PDTs | |
| Millisekunden | |
| Mikrosekunden | |
| Materialisierte Ansichten | |
| Vergleich zum vorherigen Zeitraum | |
| Ungefähre Anzahl einzelner Aufrufe | |
| Analytische Modelle in der Datenbank | |
| Benutzerdefinierte Kalender |