Ein ClickHouse-Warehouse verbinden
Diese Anleitung führt Sie durch das Verbinden einer ClickHouse-Datenbank (ClickHouse Cloud oder selbstgehostet) mit Saiku Cloud. Fünf Minuten, wenn Ihr Warehouse bereits öffentlich ist; zehn, wenn Sie einen Read-only-Benutzer erstellen müssen.
Plan-Auswirkung: Jeder Saiku-Cloud-Plan (Starter, Team, Business) unterstützt ClickHouse-BYOC.
Was Sie brauchen
- Eine ClickHouse 23.8+-Instanz (ältere Versionen funktionieren, aber die Dialekt-Oberfläche, gegen die wir testen, ist 23.8+).
- Netzwerkerreichbarkeit — siehe Schritt 1.
- Admin-Zugriff auf Ihr Warehouse, damit Sie einen Read-only-Benutzer erstellen können (oder die Anmeldedaten eines bestehenden Read-only-Benutzers).
Schritt 1 — Unsere Egress-IP auf die Allowlist setzen
Die Queries von Saiku Cloud an Ihr Warehouse stammen alle von einer einzigen statischen IP:
87.99.153.244Fügen Sie diese zur Netzwerk-Allowlist Ihres Warehouses hinzu, bevor Sie die Verbindung testen. Hinweise pro Provider:
- ClickHouse Cloud: Konsole → Ihr Service → Einstellungen →
Network → IP access list. Fügen Sie
87.99.153.244als Single-IP-Regel hinzu. - Selbstgehostet: Firewall davor (UFW, iptables, Security Group
Ihres Cloud-Providers) plus
<allow_for_users>inusers.xml, wenn Sie eingegrenzt haben, wer sich verbinden darf.
Die IP ist stabil — wir verpflichten uns zu mindestens 30 Tagen Vorlauf vor jeder Rotation. Vollständige Policy: unsere Verpflichtung zur Egress-IP-Stabilität.
Schritt 2 — Einen Read-only-Benutzer in ClickHouse erstellen
Saiku Cloud liest immer nur von Ihrem Warehouse — schreibt niemals, ändert niemals Schemas. Die Least-Privilege-Form:
-- Als Default-Benutzer oder ein anderer Superuser:CREATE USER saiku_read IDENTIFIED WITH plaintext_password BY 'pick-something-strong';
-- Lese-Zugriff auf die Datenbank(en) gewähren, die Saiku sehen soll.-- Pro Datenbank wiederholen.GRANT SELECT ON analytics.* TO saiku_read;Ein paar Hinweise:
plaintext_passwordist die einfachste Auth-Methode; ClickHouse Cloud unterstützt auchsha256_passwordunddouble_sha1_password. Beide funktionieren mit unserer JDBC-Verbindung — der Treiber hasht vor dem Transport.- ClickHouse Cloud hat ein UI für die Benutzerverwaltung (Konsole → Users), falls Sie kein SQL schreiben möchten.
- Settings-Profil: Erwägen Sie, ein separates Profil für
saiku_readmit einem strengenmax_memory_usage+max_execution_time-Cap zu erstellen, damit eine außer Kontrolle geratene Abfrage Ihren produktiven Workload nicht beeinträchtigen kann. Siehe ClickHouse-Quota-Dokumentation.
Schritt 3 — Die JDBC-URL bauen
Die Form:
jdbc:clickhouse://<host>:<port>/<database>?ssl=trueKonkrete Beispiele:
- ClickHouse Cloud:
jdbc:clickhouse://my-service.us-east-1.aws.clickhouse.cloud:8443/default?ssl=true&sslMode=STRICT - Selbstgehostet mit HTTPS-Reverse-Proxy:
jdbc:clickhouse://ch.yourcompany.com:443/analytics?ssl=true - Selbstgehostet Klartext (nur privates Netzwerk):
jdbc:clickhouse://ch.internal:8123/analytics. Die Egress-IP von Saiku Cloud muss auf der Netzwerkebene erlaubt sein; Klartext ist OK INNERHALB eines vertrauenswürdigen Netzwerks, aber nicht über das offene Internet.
Schlüsselparameter:
ssl=true— aktiviert TLS. Erforderlich für ClickHouse Cloud + empfohlen für jedes öffentliche Deployment.sslMode=STRICT— verifiziert, dass das Server-Zertifikat zu einer CA gehört, der wir vertrauen + verifiziert, dass der Hostname passt. ClickHouse Cloud verwendet Let’s Encrypt, sodass dies out of the box funktioniert.compress=true— opt-in clientseitige Komprimierung (standardmäßig LZ4). Verkürzt die JDBC-Payload-Größe für große Result Sets; meist ein Gewinn für BI-Workloads. Der shadedclickhouse-jdbc-all-Treiber bündelt die nativen LZ4-, Brotli- und Zstd-Libs.
Schritt 4 — Verbinden über den Saiku-Cloud-Wizard
-
Melden Sie sich bei
https://cloud.saiku.bi/an. -
Navigieren Sie zu Verbindungen in der linken Seitenleiste.
-
Klicken Sie unter 1. Warehouse-Typ wählen auf das ClickHouse-Kachel.
-
Füllen Sie aus:
- JDBC-URL — die URL aus Schritt 3.
- Benutzername —
saiku_read(oder wie auch immer Sie den Benutzer in Schritt 2 benannt haben). - Passwort — das Passwort aus Schritt 2.
-
Klicken Sie auf Verbindung testen.
Ein grüner Ergebnis-Banner: ✓ Connection successful plus die
erkannte ClickHouse-Version → weiter zu Schritt 5.
Ein roter Ergebnis-Banner → siehe Fehlerbehebung.
Schritt 5 — Die Verbindung speichern
Nach einem erfolgreichen Test rendert der Wizard einen Abschnitt 3. Verbindung speichern. Füllen Sie aus:
- Passwort (zum Speichern erneut eingeben) — dasselbe Passwort.
- Label —
Production ClickHouseoderAnalytics warehouse.
Klicken Sie auf Verbindung speichern.
Fehlerbehebung
✗ Connection failed (HOST_UNREACHABLE) oder (TIMEOUT)
- Falscher Port — Sie haben 9000 (Native Protocol) statt 8123 (HTTP) oder 8443 (HTTPS) verwendet. Die Behebung ist in Schritt 3.
- Firewall / IP-Allowlist — Schritt 1 wurde nicht angewendet. Die „IP access list” von ClickHouse Cloud braucht manchmal eine Minute zum Propagieren nach dem Speichern; erneut versuchen.
- DNS —
nslookup <host>von Ihrem Laptop. Wenn er auf eine private IP auflöst, würde der SSRF-SchutzHOST_DENIEDanzeigen (nichtHOST_UNREACHABLE).
✗ Connection failed (AUTH_FAILED)
ClickHouse-Fehler 192 / 193 / 516. Benutzername oder Passwort ist falsch.
- Case-Sensitivität des Benutzernamens — ClickHouse-Benutzernamen sind case-sensitiv.
- Erlaubte Hosts — Ihr Benutzer könnte über
<allow_for_hosts>inusers.xmlauf bestimmte IPs eingeschränkt sein. Fügen Sie87.99.153.244dieser Liste hinzu oder entfernen Sie die<allow_for_hosts>-Klausel, um von überall zu erlauben (und sich auf die Firewall zu verlassen). plaintext_passwordvs.sha256_password— beides funktioniert mit unserem Treiber, aber wenn Sie den gespeicherten Hash-Typ des Benutzers und das angegebene Passwort nicht abgleichen, schlägt der serverseitige Hash-Check fehl. Meist nur ein Problem, wenn Sie einen Benutzer zwischen Hash-Typen migrieren.
✗ Connection failed (DATABASE_NOT_FOUND)
ClickHouse-Fehler 81. Der Host akzeptiert Ihre Anmeldedaten, aber der Datenbankname in der JDBC-URL existiert nicht. Verifizieren Sie ihn:
SHOW DATABASES;✗ Connection failed (DIALECT_UNSUPPORTED)
Die URL beginnt nicht mit jdbc:clickhouse:. Wenn Sie eine
jdbc:ch:-URL eingefügt haben, matcht der Dialekt-Resolver dies als
separates Schema und akzeptiert es ebenfalls — aber stellen Sie
sicher, dass die URL selbst mit einem dieser beiden beginnt.
Alles andere
Machen Sie einen Screenshot des Wizards mit sichtbarem rotem
Ergebnis-Banner (Kind: ...-Zeile insbesondere) und senden Sie ihn
an support@saiku.bi.
Enterprise: privates Netzwerk
Für Enterprise-Kunden, die ein privates Netzwerk-Setup betreiben, wird die Egress-IP-Regel durch VPC-Peering ersetzt. Der Flow des Connection-Wizards ist ansonsten identisch. Kontaktieren Sie Ihr Account-Team, um das Peering bereitzustellen.
Mit FoodMart ausprobieren
Möchten Sie Saiku Cloud mit diesem Dialekt testen, bevor Sie Ihre eigenen Daten verbinden? Laden Sie den FoodMart-Sample-Datensatz, gepackt für ClickHouse, herunter: