Von MongoBI zu MongoSQL migrieren
Looker unterstützt jetzt MongoSQL und empfiehlt die Migration vom MongoDB-Connector für BI zu MongoSQL.
Aufgrund von Unterschieden in der SQL-Syntax zwischen dem MongoDB-Connector für BI (MongoBI) und MongoSQL müssen möglicherweise Syntaxanpassungen an vorhandenen LookML-Modellen vorgenommen werden, die benutzerdefinierte SQL-Blöcke, Datumsformatierungen oder Datenbankfunktionen verwenden. Sie sollten eine vorhandene Produktionsverbindung nicht direkt zu MongoSQL wechseln, ohne zuerst Ihren LookML-Code zu validieren, da dies zu Problemen mit Dashboards, Looks, Zeitplänen oder Benachrichtigungen führen kann.
So migrieren Sie sicher von MongoBI zu MongoSQL:
- Sehen Sie sich die Unterschiede in der SQL-Syntax zwischen MongoBI und MongoSQL in der MongoDB-Dokumentation unter Transition from Atlas BI Connector to MongoSQL an.
- Erstellen Sie eine neue Verbindung für MongoSQL in Looker als sekundäre Verbindung.
- Aktualisieren Sie in einem neuen Entwicklungszweig in Ihrem LookML-Projekt den Parameter
connectionin Ihrer Modelldatei, damit er auf die neue MongoSQL-Verbindung verweist. - Testen und führen Sie in SQL Runner Beispielabfragen aus Ihren Explores aus, um die Abfragesyntax und die Ergebnisse zu überprüfen.
- Validieren Sie Ihr Projekt und Ihre Inhalte:
- Verwenden Sie die Inhaltsvalidierung, um alle Dashboards und Looks nach fehlerhaften Feldern oder Verweisen zu durchsuchen.
- Verwenden Sie den SQL Validator von Looker CI, um die Dimensionen in Ihren Explores mit der Datenbank zu vergleichen.
- Nachdem Sie alle Validierungsfehler behoben haben, stellen Sie Ihre Änderungen in der Produktion bereit.
MongoDB-Connector für BI (MongoBI) verwenden
Looker kann über den MongoDB-Connector für BI auf MongoDB zugreifen. Dazu gibt es zwei Möglichkeiten:
- MongoDB-Connector für BI in MongoDB Atlas verwenden
- MongoDB-Connector für BI verwenden, der auf demselben Server wie die MongoDB-Datenbank installiert ist
MongoDB Atlas
Für MongoDB Atlas muss ein M10+-Cluster verwendet werden. Wenn Looker eine MongoDB-Datenbank verwenden soll, die in MongoDB Atlas ausgeführt wird, müssen Sie den MongoDB-Connector für BI (MongoBI) verwenden. Wenn Sie den BI Connector für Atlas aktivieren möchten, muss in MongoDB Atlas ein M10+-Cluster verwendet werden.
Außerdem müssen Sie ein Nutzerkonto mit Leseberechtigungen für die ausgewählte Datenbank erstellen.
MongoDB-Connector für BI konfigurieren
Bevor Sie eine Verbindung in Looker erstellen, muss Ihr MongoDB- oder Atlas-Administrator den MongoDB-Connector für BI mit den folgenden Schritten einrichten, die auf dieser Seite erläutert werden:
- Looker-Server zur Atlas-IP-Zugriffsliste hinzufügen
- MongoDB-Connector für BI aktivieren
- Verwendung regulärer abgeleiteter Tabellen zulassen (empfohlen)
Looker-Server zur Atlas-IP-Zugriffsliste hinzufügen
Atlas lässt nur Clientverbindungen von Einträgen in der IP-Zugriffsliste des Projekts zu. Fügen Sie die Looker-IP-Adresse der IP-Zugriffsliste des Atlas-Projekts hinzu:
- Rufen Sie die Looker-IP-Adresse ab.
- Folgen Sie der Anleitung zum Einrichten der Atlas-IP-Zugriffsliste, um die Looker-IP-Adresse der Atlas-IP-Zugriffsliste hinzuzufügen.
MongoDB-Connector für BI aktivieren
So aktivieren Sie den MongoDB-Connector für BI:
- Prüfen Sie, ob Sie sich in einem M10+-Cluster befinden.
- Öffnen Sie in Atlas die Seite „Connect“ (Verbinden) für den Cluster. Notieren Sie sich den Hostnamen, den Port und den Nutzer. Sie benötigen diese Informationen, wenn Sie die Verbindung in Looker konfigurieren.
MongoDB auf demselben Server
Bevor Sie eine Verbindung in Looker erstellen, sollte Ihr MongoDB-Administrator MongoDB und den Mongo-Connector für BI mit den folgenden Schritten einrichten, die auf dieser Seite erläutert werden:
- Mongo-Connector für BI installieren
- Netzwerkverkehr verschlüsseln
- Looker-Nutzer und -Berechtigungen einrichten
- Verwendung regulärer abgeleiteter Tabellen zulassen (empfohlen)
Mongo-Connector für BI installieren
Installieren Sie den MongoDB-Connector für BI auf demselben Server wie die MongoDB-Datenbank, wie auf der Install BI Connector On Premises MongoDB-Dokumentationsseite beschrieben.
Netzwerkverkehr verschlüsseln
Für den MongoDB-Connector für BI ist die Verwendung der SSL-Verschlüsselung zwischen dem MongoDB-Server und der Looker-Anwendung erforderlich. Folgen Sie der Anleitung zur SSL-Einrichtung auf der Configure SSL for BI Connector MongoDB-Dokumentationsseite.
Looker-Nutzer und -Berechtigungen einrichten
Geben Sie in der MongoDB-Shell den Befehl use ein, um zur Datenbank zu wechseln, mit der Looker eine Verbindung herstellen soll. Erstellen Sie dann mit db.createUser() einen Nutzer für Looker mit der Rolle readWrite:
use looker_database
db.createUser({ user: looker,
pwd: `some_password_here`,
roles: [ "readWrite" ]
})
JDBC-Treiberdateien für MongoBI installieren
Für beide Optionen des MongoDB-Connectors für BI muss Looker JDBC-Treiberdateien konfigurieren. Führen Sie dazu die folgenden Schritte aus:
Laden Sie diese beiden JAR-Dateien herunter:
Folgen Sie der Anleitung auf der Dokumentationsseite Unpackaged JDBC drivers und verwenden Sie die folgenden Werte:
Treibersymbol: mongobi
Treibereintrag:
- name: mongobi
dir_name: mongobi
module_path: com.mysql.jdbc.Driver
override_jdbc_url_subprotocol: mysql
Wenn Sie Looker 6.2 oder eine frühere Version verwenden:
- name: maria15x
dir_name: mongobi
module_path: com.mysql.jdbc.Driver
override_jdbc_url_subprotocol: mysql
Für den Schritt, in dem Sie den Treiber in das Verzeichnis Ihres Dialekts einfügen, sehen die Pfade zu diesen Dateien so aus:
looker/custom_jdbc_drivers/mongobi/mongosql-auth-1.0.0-rc0.jarlooker/custom_jdbc_drivers/mongobi/mysql-connector-java-5.1.47.jar
Verwendung regulärer abgeleiteter Tabellen zulassen (empfohlen)
Abgeleitete Tabellen sind in Looker wichtige Tools, mit denen Sie Ihre Analysen noch umfassender gestalten können. In einigen Fällen tragen sie außerdem erheblich zur Steigerung der Abfrageleistung bei. Auf höherer Ebene bietet die Funktion für abgeleitete Tabellen von Looker die Möglichkeit, neue Tabellen zu erstellen, die noch nicht in Ihrer Datenbank vorhanden sind.
Der MongoDB-Connector für BI unterstützt temporäre reguläre abgeleitete Tabellen, aber keine persistenten abgeleiteten Tabellen.
Da reguläre abgeleitete Tabellen temporär sind, müssen sie nicht gespeichert werden. Daher müssen Sie kein Schema dafür erstellen. Sie müssen jedoch dem Schema looker_tmp die Rolle dbOwner zuweisen, auch wenn dieses Schema nicht vorhanden ist.
Folgen Sie der Anleitung im Abschnitt Modify MongoDB Users auf dieser MongoDB-Dokumentationsseite zum Konfigurieren von Datenbanknutzern, um dem Nutzer, den Looker für die Verbindung verwendet, die Rolle dbOwner für looker_tmp hinzuzufügen.
db.grantRolesToUser("looker", [ {role: "dbOwner", db: "looker_tmp"} ])
Looker-Verbindung zu Ihrer Datenbank erstellen
So verbinden Sie Looker mit Ihrer Datenbank
- Wählen Sie in Looker im Bereich Admin die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
Wählen Sie im Drop-down-Menü Dialekt die Option MongoBI 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 im Abschnitt Statusdetails unten auf der Seite Verbindungseinstellungen auf die Schaltfläche Verbindung testen , um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde.
Wenn in Looker Verbindung möglich angezeigt wird, klicken Sie auf Verbinden, um die Verbindung herzustellen.
Ihre Datenbankverbindung wird dann der Liste auf der Looker-Seite Verbindungen im Bereich Admin hinzugefügt.
SQL-Funktionen und ‑Operatoren mit dem MongoDB-Connector für BI verwenden
Wenn Sie mit einer MongoDB-Connector-für-BI-Verbindung entwickeln, können Sie die in der MongoDB-Dokumentation aufgeführten SQL-Funktionen und ‑Operatoren verwenden.
Unterstützte JDBC-Parameter
Für den MongoDB-Connector für BI unterstützt Looker die folgenden JDBC-Parameter im Zusätzliche JDBC-Parameter Feld für die Verbindung. Informationen zu diesen Parametern finden Sie in der Dokumentation zu Ihrer Datenbank.
allowMultiQueriesappNameauthSourceautoReconnectcachePrepStmtscharacterEncodingconnectTimeoutconnectTimeoutMSelideSetAutoCommitsenabledSslProtocolSuitesenabledTLSProtocolsexplainSlowQueriesmaxAllowedPacketpasswordqueryInterceptorsqueryTimeoutKillsConnectionreplicaSetrewriteBatchedStatementssocketTimeoutsslsslModetcpKeepAliveuseCompressionuseCursorFetchuseLocalSessionStateuseruseServerPrepStmtsuseSSLverifyServerCertificatezeroDateTimeBehavior
Funktionsunterstützung
Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.
MongoBI unterstützt ab Looker 26.16 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 |
Außerdem gilt:
- MongoDB unterstützt keine Zeiträume in Millisekunden und Mikrosekunden für Dimensionsgruppen.
- MongoDB unterstützt keine Millisekunden-, MillisekundenX- und Mikrosekundentypen für Dimensionen.
- Looker behandelt alle Zeitstempel, auf die über MongoBI zugegriffen wird, als wären sie in der koordinierten Weltzeit (UTC).