Connexion d'un entrepôt ClickHouse
Ce guide vous accompagne dans la connexion d’une base de données ClickHouse (ClickHouse Cloud ou auto-hébergée) à Saiku Cloud. Cinq minutes si votre entrepôt est déjà public ; dix si vous devez créer un utilisateur en lecture seule.
Impact niveau : chaque niveau Saiku Cloud (Starter, Team, Business) prend en charge BYOC ClickHouse.
Ce dont vous aurez besoin
- Une instance ClickHouse 23.8+ (les versions antérieures fonctionnent, mais la surface de dialecte que nous testons est 23.8+).
- Une joignabilité réseau — voir l’étape 1.
- Un accès admin à votre entrepôt pour créer un utilisateur en lecture seule (ou les identifiants d’un utilisateur existant en lecture seule).
Étape 1 — Autoriser notre IP de sortie
Les requêtes de Saiku Cloud vers votre entrepôt proviennent toutes d’une unique IP statique :
87.99.153.244Ajoutez ceci à la liste d’autorisations réseau de votre entrepôt avant de tester la connexion. Notes par fournisseur :
- ClickHouse Cloud : Console → votre service → Settings → Network → IP access list. Ajoutez
87.99.153.244comme règle d’IP unique. - Auto-hébergé : pare-feu en façade (UFW, iptables, le security group de votre fournisseur cloud) plus
<allow_for_users>dansusers.xmlsi vous avez restreint qui peut se connecter.
L’IP est stable — nous nous engageons à un préavis d’au moins 30 jours avant toute rotation. Politique complète : notre engagement de stabilité de l’IP de sortie.
Étape 2 — Créer un utilisateur en lecture seule dans ClickHouse
Saiku Cloud ne lit que votre entrepôt — jamais d’écriture, jamais d’altération de schemas. La forme à privilège minimum :
-- As the default user or another superuser:CREATE USER saiku_read IDENTIFIED WITH plaintext_password BY 'pick-something-strong';
-- Grant read access to the database(s) you want Saiku to see.-- Repeat for each database.GRANT SELECT ON analytics.* TO saiku_read;Quelques notes :
plaintext_passwordest la méthode d’auth la plus simple ; ClickHouse Cloud prend aussi en chargesha256_passwordetdouble_sha1_password. L’un ou l’autre fonctionne pour notre connexion JDBC — le pilote hash avant le transit.- ClickHouse Cloud dispose d’une interface pour la gestion des utilisateurs (Console → Users) si vous préférez ne pas écrire de SQL.
- Profil de paramètres : envisagez de créer un profil distinct pour
saiku_readavec un plafond strict demax_memory_usage+max_execution_timeafin qu’une requête en fuite ne puisse pas impacter votre charge de production. Voir la doc des quotas ClickHouse.
Étape 3 — Construire l’URL JDBC
La forme :
jdbc:clickhouse://<host>:<port>/<database>?ssl=trueExemples concrets :
- ClickHouse Cloud :
jdbc:clickhouse://my-service.us-east-1.aws.clickhouse.cloud:8443/default?ssl=true&sslMode=STRICT - Auto-hébergé avec reverse-proxy HTTPS :
jdbc:clickhouse://ch.yourcompany.com:443/analytics?ssl=true - Auto-hébergé texte clair (réseau privé seulement) :
jdbc:clickhouse://ch.internal:8123/analytics. L’IP de sortie de Saiku Cloud doit être autorisée au niveau réseau ; le texte clair est OK À L’INTÉRIEUR d’un réseau de confiance mais pas sur Internet ouvert.
Paramètres clés :
ssl=true— active TLS. Requis pour ClickHouse Cloud + recommandé pour tout déploiement public.sslMode=STRICT— vérifie que le certificat serveur remonte à une CA que nous trustons + vérifie que le nom d’hôte correspond. ClickHouse Cloud utilise Let’s Encrypt donc cela fonctionne d’office.compress=true— compression côté client en opt-in (LZ4 par défaut). Réduit la taille de payload JDBC pour les grands résultats ; généralement un gain pour les charges BI. Le pilote shadedclickhouse-jdbc-allembarque les libs natives LZ4 + Brotli + Zstd.
Étape 4 — Connectez-vous via l’assistant Saiku Cloud
-
Connectez-vous à
https://cloud.saiku.bi/. -
Naviguez vers Connexions dans la barre latérale gauche.
-
Sous 1. Choisir le type d’entrepôt, cliquez sur la tuile ClickHouse.
-
Renseignez :
- URL JDBC — l’URL de l’étape 3.
- Nom d’utilisateur —
saiku_read(ou le nom que vous avez donné à l’utilisateur à l’étape 2). - Mot de passe — le mot de passe de l’étape 2.
-
Cliquez sur Tester la connexion.
Une bannière de résultat verte : ✓ Connection successful plus la version ClickHouse détectée → passez à l’étape 5.
Une bannière de résultat rouge → voir Dépannage.
Étape 5 — Enregistrer la connexion
Après un test réussi, l’assistant affiche une section 3. Enregistrer la connexion. Renseignez :
- Mot de passe (ressaisir pour enregistrer) — le même mot de passe.
- Libellé —
Production ClickHouseouEntrepôt analytique.
Cliquez sur Enregistrer la connexion.
Dépannage
✗ Connection failed (HOST_UNREACHABLE) ou (TIMEOUT)
- Mauvais port — vous avez utilisé 9000 (protocole natif) au lieu de 8123 (HTTP) ou 8443 (HTTPS). Le correctif est à l’étape 3.
- Pare-feu / allowlist d’IP — l’étape 1 n’a pas été appliquée. La « IP access list » de ClickHouse Cloud met parfois une minute à se propager après l’enregistrement ; réessayez.
- DNS —
nslookup <host>depuis votre laptop. S’il résout vers une IP privée, le garde-fou SSRF afficheraitHOST_DENIED(pasHOST_UNREACHABLE).
✗ Connection failed (AUTH_FAILED)
Erreur ClickHouse 192 / 193 / 516. Le nom d’utilisateur ou le mot de passe est incorrect.
- Sensibilité à la casse du nom d’utilisateur — les noms d’utilisateur ClickHouse sont sensibles à la casse.
- Hôtes autorisés — votre utilisateur peut être restreint à des IP spécifiques via
<allow_for_hosts>dansusers.xml. Ajoutez87.99.153.244à cette liste, ou retirez la clause<allow_for_hosts>pour autoriser depuis n’importe où (et vous appuyer sur le pare-feu). plaintext_passwordvssha256_password— les deux fonctionnent avec notre pilote, mais si vous avez désaligné le type de hash stocké de l’utilisateur et le mot de passe fourni, la vérification de hash côté serveur échoue. Généralement seulement un problème lorsque vous migrez un utilisateur entre types de hash.
✗ Connection failed (DATABASE_NOT_FOUND)
Erreur ClickHouse 81. L’hôte accepte vos identifiants mais le nom de base de données dans l’URL JDBC n’existe pas. Vérifiez-le :
SHOW DATABASES;✗ Connection failed (DIALECT_UNSUPPORTED)
L’URL ne commence pas par jdbc:clickhouse:. Si vous avez collé une URL jdbc:ch:, le résolveur de dialecte la reconnaît comme un schéma distinct et l’accepte aussi — mais assurez-vous que l’URL elle-même commence par l’un de ces deux.
Toute autre chose
Faites une capture d’écran de l’assistant avec la bannière de résultat rouge visible (en particulier la ligne Kind: ...) et envoyez-la à support@saiku.bi.
Enterprise : réseau privé
Pour les clients Enterprise utilisant une configuration de réseau privé, la règle d’IP de sortie est remplacée par un peering VPC. Le flux de l’assistant de connexion est par ailleurs identique. Contactez votre équipe de compte pour provisionner le peering.
Essayer avec FoodMart
Vous voulez tester Saiku Cloud avec ce dialecte avant de connecter vos propres données ? Téléchargez le jeu de données d’exemple FoodMart packagé pour ClickHouse :