Conectar un data warehouse de ClickHouse
Esta guía le acompaña al conectar una base de datos ClickHouse (ClickHouse Cloud o autoalojado) a Saiku Cloud. Cinco minutos si su data warehouse ya es público; diez si necesita crear un usuario de solo lectura.
Impacto en niveles: todos los niveles de Saiku Cloud (Starter, Team, Business) admiten BYOC con ClickHouse.
Lo que necesitará
- Una instancia ClickHouse 23.8+ (las versiones anteriores funcionan, pero la superficie del dialecto contra la que probamos es 23.8+).
- Accesibilidad de red — consulte el Paso 1.
- Acceso de administrador a su data warehouse para poder crear un usuario de solo lectura (o las credenciales de un usuario de solo lectura existente).
Paso 1 — Permitir nuestra IP de egreso
Todas las consultas de Saiku Cloud a su data warehouse provienen de una única IP estática:
87.99.153.244Añada esta a la lista de permitidos de red de su data warehouse antes de probar la conexión. Notas por proveedor:
- ClickHouse Cloud: Console → su servicio → Settings → Network → IP access list. Añada
87.99.153.244como regla de IP única. - Autoalojado: firewall delante (UFW, iptables, el grupo de seguridad de su proveedor de cloud) más
<allow_for_users>enusers.xmlsi ha restringido quién puede conectarse.
La IP es estable — nos comprometemos a al menos 30 días de aviso antes de cualquier rotación. Política completa: nuestro compromiso de estabilidad de IP de egreso.
Paso 2 — Cree un usuario de solo lectura en ClickHouse
Saiku Cloud solo lee de su data warehouse — nunca escribe, nunca altera schemas. La forma de mínimo privilegio:
-- 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;Unas notas:
plaintext_passwordes el método de autenticación más simple; ClickHouse Cloud también admitesha256_passwordydouble_sha1_password. Cualquiera funciona para nuestra conexión JDBC — el driver hashea antes de la transmisión.- ClickHouse Cloud tiene una UI para gestión de usuarios (Console → Users) si prefiere no escribir SQL.
- Settings profile: considere crear un perfil separado para
saiku_readcon un tope estricto demax_memory_usage+max_execution_timepara que una consulta descontrolada no pueda impactar su carga de trabajo en producción. Consulte la documentación de quotas de ClickHouse.
Paso 3 — Construya la URL JDBC
La forma:
jdbc:clickhouse://<host>:<port>/<database>?ssl=trueEjemplos concretos:
- ClickHouse Cloud:
jdbc:clickhouse://my-service.us-east-1.aws.clickhouse.cloud:8443/default?ssl=true&sslMode=STRICT - Autoalojado con HTTPS y proxy inverso:
jdbc:clickhouse://ch.yourcompany.com:443/analytics?ssl=true - Autoalojado en texto plano (solo red privada):
jdbc:clickhouse://ch.internal:8123/analytics. La IP de egreso de Saiku Cloud debe permitirse a nivel de red; el texto plano está bien DENTRO de una red de confianza pero no por internet abierto.
Parámetros clave:
ssl=true— habilita TLS. Requerido para ClickHouse Cloud + recomendado para cualquier despliegue público.sslMode=STRICT— verifica que el certificado del servidor encadena a una CA en la que confiamos + verifica que el hostname coincide. ClickHouse Cloud usa Let’s Encrypt así que esto funciona sin más.compress=true— compresión opt-in del lado del cliente (LZ4 por defecto). Reduce el tamaño del payload JDBC para conjuntos de resultados grandes; normalmente una mejora para cargas de BI. El driver con dependencias incrustadasclickhouse-jdbc-allincluye las bibliotecas nativas LZ4 + Brotli + Zstd.
Paso 4 — Conecte mediante el asistente de Saiku Cloud
-
Inicie sesión en
https://cloud.saiku.bi/. -
Vaya a Conexiones en la barra lateral izquierda.
-
En 1. Elegir tipo de data warehouse, haga clic en el tile ClickHouse.
-
Rellene:
- URL JDBC — la URL del Paso 3.
- Username —
saiku_read(o como haya llamado al usuario en el Paso 2). - Password — la contraseña del Paso 2.
-
Haga clic en Probar conexión.
Un banner verde de resultado: ✓ Connection successful más la versión de ClickHouse detectada → continúe con el Paso 5.
Un banner rojo de resultado → consulte Solución de problemas.
Paso 5 — Guarde la conexión
Tras una prueba exitosa, el asistente muestra una sección 3. Guardar conexión. Rellene:
- Contraseña (vuelva a introducir para guardar) — la misma contraseña.
- Etiqueta —
Production ClickHouseoAnalytics warehouse.
Haga clic en Guardar conexión.
Solución de problemas
✗ Connection failed (HOST_UNREACHABLE) o (TIMEOUT)
- Puerto incorrecto — usó 9000 (protocolo nativo) en lugar de 8123 (HTTP) o 8443 (HTTPS). La solución está en el Paso 3.
- Firewall / lista de IPs permitidas — el Paso 1 no se aplicó. La “IP access list” de ClickHouse Cloud a veces tarda un minuto en propagarse tras guardar; reintente.
- DNS —
nslookup <host>desde su portátil. Si resuelve a una IP privada, el guard SSRF mostraríaHOST_DENIED(noHOST_UNREACHABLE).
✗ Connection failed (AUTH_FAILED)
Error 192 / 193 / 516 de ClickHouse. El usuario o contraseña son incorrectos.
- Sensibilidad a mayúsculas/minúsculas del nombre de usuario — los nombres de usuario de ClickHouse son sensibles a mayúsculas/minúsculas.
- Hosts permitidos — su usuario podría estar restringido a IPs específicas mediante
<allow_for_hosts>enusers.xml. Añada87.99.153.244a esa lista, o elimine la cláusula<allow_for_hosts>para permitir desde cualquier sitio (y confíe en el firewall). plaintext_passwordvssha256_password— ambos funcionan con nuestro driver, pero si no coincide el tipo de hash almacenado del usuario y la contraseña que proporcionó, la comprobación de hash del lado del servidor falla. Normalmente solo un problema cuando migra a un usuario entre tipos de hash.
✗ Connection failed (DATABASE_NOT_FOUND)
Error 81 de ClickHouse. El host acepta sus credenciales pero el nombre de base de datos en la URL JDBC no existe. Verifíquelo:
SHOW DATABASES;✗ Connection failed (DIALECT_UNSUPPORTED)
La URL no empieza con jdbc:clickhouse:. Si pegó una URL jdbc:ch:, el resolvedor de dialectos la empareja como un esquema separado y la acepta también — pero asegúrese de que la URL en sí empieza con uno de esos dos.
Cualquier otra cosa
Haga una captura de pantalla del asistente con el banner rojo de resultado visible (línea Kind: ... en particular) y envíela a support@saiku.bi.
Enterprise: red privada
Para clientes Enterprise que tienen una configuración de red privada, la regla de IP de egreso se reemplaza por VPC peering. El flujo del asistente de conexión es por lo demás idéntico. Contacte con su equipo de cuenta para aprovisionar el peering.
Pruebe con FoodMart
¿Quiere probar Saiku Cloud con este dialecto antes de conectar sus propios datos? Descargue el dataset de muestra FoodMart empaquetado para ClickHouse: