Connexion de MotherDuck
Ce guide vous accompagne dans la connexion d’une base MotherDuck (DuckDB cloud) à Saiku Cloud. Trois minutes une fois que vous avez un compte MotherDuck ; l’onboarding d’entrepôt cloud le plus simple que nous prenons en charge car il n’y a pas de pare-feu à configurer.
Impact niveau : chaque niveau Saiku Cloud prend en charge BYOC MotherDuck.
Pilote : Saiku Cloud embarque le pilote JDBC officiel de DuckDB. Le préfixe URL jdbc:duckdb:md:... route vers le service cloud MotherDuck ; le même pilote sert aussi les fichiers DuckDB locaux.
Ce dont vous aurez besoin
- Un compte MotherDuck (le free tier suffit — 10 Go de stockage, largement assez pour des cubes de taille FoodMart).
- Un jeton de service MotherDuck.
- Le nom de la base de données que vous voulez que Saiku lise.
Étape 1 — Obtenir un jeton de service
MotherDuck s’authentifie via un unique jeton longue durée. Vous n’avez pas besoin de configurer de pare-feu ou de listes d’autorisation d’IP — MotherDuck gère la joignabilité réseau de manière transparente.
-
Connectez-vous à
https://app.motherduck.com/. -
Cliquez sur votre profil → Settings → Service tokens (ou l’équivalent dans l’interface actuelle de la console — MotherDuck modifie occasionnellement la navigation).
-
Create token → donnez-lui un nom comme
saiku-cloud→ copiez immédiatement la chaîneeyJh...résultante. MotherDuck n’affiche le jeton qu’une seule fois. -
Enregistrez-le dans votre gestionnaire de mots de passe (1Password, Bitwarden) sous un libellé comme
saiku-motherduck-token.
Étape 2 — Identifier le nom de la base
MotherDuck affiche vos bases de données dans la barre latérale gauche de l’application. Pour un travail de démo style FoodMart, le nom par défaut est généralement my_db ; pour des cubes de production, vous aurez votre propre nom comme analytics ou sales.
Étape 3 — Construire l’URL JDBC
La forme :
jdbc:duckdb:md:<database>?motherduck_token=<token>Concret :
jdbc:duckdb:md:analytics?motherduck_token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ5b3UifQ.signature-herePoints à noter :
- Le jeton vit dans l’URL, pas dans le champ mot de passe de l’assistant. Les champs nom d’utilisateur + mot de passe dans l’assistant sont ignorés par le pilote MotherDuck — remplissez-les avec n’importe quoi (la validation d’attribut requis de l’assistant a besoin de quelque chose, mais la valeur n’atteint jamais MotherDuck).
- Pas de port ; pas d’hôte. MotherDuck gère le routage.
- Pas de paramètre SSL — le pilote chiffre TLS toute la session par défaut.
É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 MotherDuck.
-
Renseignez :
- URL JDBC — l’URL de l’étape 3.
- Nom d’utilisateur — n’importe quoi (par ex.
motherduck). Ignoré par le pilote. - Mot de passe — n’importe quoi de non vide (par ex.
unused-token-in-url). Également ignoré.
-
Cliquez sur Tester la connexion.
Attendez-vous à une bannière de résultat verte : ✓ Connection successful plus la version DuckDB détectée.
Étape 5 — Enregistrer la connexion
Même forme que tout autre dialecte — ressaisissez le champ mot de passe, donnez-lui un libellé, enregistrez.
Dépannage
✗ Connection failed (AUTH_FAILED)
Le jeton dans l’URL est erroné, expiré ou révoqué.
- Recréez un jeton frais dans la console MotherDuck.
- Assurez-vous d’avoir copié le jeton entier — ils sont longs (300+ caractères) et faciles à tronquer.
- Vérifiez l’URL : il ne doit y avoir AUCUN espace autour de
motherduck_token=.
✗ Connection failed (HOST_UNREACHABLE) ou (TIMEOUT)
L’endpoint cloud MotherDuck devrait être joignable depuis n’importe où avec Internet. Si vous voyez ceci, MotherDuck lui-même est probablement en panne — consultez leur page de statut.
✗ Connection failed (INVALID_URL)
L’URL ne commence pas par jdbc:duckdb:md:. Notez le segment md: — c’est ce qui indique au pilote de router vers MotherDuck plutôt qu’un fichier local. Sans cela, le pilote essaie d’ouvrir un fichier littéral appelé <database> dans le répertoire de travail du moteur.
La connexion réussit mais la liste de cubes est vide
Le jeton est valide + la base existe, mais la base n’a pas de tables. Soit :
- Vous vous êtes connecté à une base fraîche vide — chargez d’abord des données via l’interface SQL de la console MotherDuck.
- La base a des tables mais elles sont dans un schéma autre que par défaut — confirmez dans la console et ajustez votre XML de schema.
Fichiers locaux pour les flux auto-hébergé ou export-import {#local-files-for-self-hosted-or-export-import-workflows}
Le pilote DuckDB sert également les fichiers locaux (jdbc:duckdb:/path/to/file.duckdb). Sur Saiku Cloud hébergé, ce chemin se résout sur le système de fichiers du conteneur du moteur, pas le vôtre — donc le chemin de données par téléversement de fichier est la voie standard pour amener un fichier local dans Saiku. Voir Connexion d’un fichier téléversé via DuckDB pour ce flux.
Pour les déploiements Saiku Cloud auto-hébergés où l’opérateur peut déposer des fichiers directement sur l’hôte du moteur, collez jdbc:duckdb:/var/lib/saiku/your.duckdb dans l’assistant et connectez-vous normalement.
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 MotherDuck :