Guía de despliegue

Alojar ClickHouse en un VPS

Desplegar en un VPS Cloud →

Tutorial

Alojar ClickHouse en un VPS

Bases de datos5 min de lectura6 pasos

ClickHouse es una base de datos analítica orientada a columnas, capaz de agregar miles de millones de filas en unos pocos milisegundos. Es la herramienta de referencia para el reporting, el análisis de logs y los dashboards en tiempo real, y se autoaloja muy bien en un VPS correctamente dimensionado. Veamos cómo desplegarlo con Docker, protegerlo y configurarlo para obtener un rendimiento óptimo.

Contenido· Por qué autoalojar ClickHouse en un VPS1/5
  1. 01Por qué autoalojar ClickHouse en un VPS
  2. 02Las ventajas concretas de autoalojar ClickHouse
  3. 03Requisitos de hardware y de software
  4. 04Desplegar ClickHouse paso a paso
  5. 05Instalarlo con un solo clic desde el Marketplace de ServOrbit

Por qué autoalojar ClickHouse en un VPS

ClickHouse destaca en las consultas analíticas (OLAP): gracias a su almacenamiento en columnas y a su compresión agresiva, puede escanear terabytes en hardware modesto allí donde una base de datos relacional clásica se hundiría. Autoalojarlo en un VPS le evita los costes por volumen de consultas de los servicios gestionados (ClickHouse Cloud, BigQuery) y le da el control completo del esquema, de los motores de tabla y de la retención. Resulta especialmente pertinente para ingerir sus propios logs de aplicación, métricas de producto o eventos de analítica sin enviar sus datos a un tercero. Como ClickHouse suele comprimir los datos en un factor de 5 a 10, un VPS con un disco SSD razonable puede almacenar cientos de millones de eventos. También conserva el control sobre la latencia: sus paneles consultan una instancia cercana a sus usuarios en lugar de un servicio remoto.

Las ventajas concretas de autoalojar ClickHouse

  • Consultas analíticas extremadamente rápidas: agregaciones sobre cientos de millones de filas en menos de un segundo.
  • Compresión en columnas de 5x a 10x que reduce drásticamente el coste de almacenamiento de sus logs y eventos.
  • Ingesta masiva: cientos de miles de filas por segundo en un solo nodo bien ajustado.
  • Compatible con SQL y con numerosos conectores (Grafana, Metabase, clientes HTTP y nativos).
  • Soberanía analítica: sus logs y métricas de producto permanecen en su infraestructura.
  • Sin facturación por consulta: un coste de VPS fijo para un volumen analítico elevado.

Requisitos de hardware y de software

A ClickHouse le gustan la RAM y el disco rápido. Para un uso analítico serio, apunte a 4 GB de RAM como mínimo, pero 8 GB ofrecen un margen mucho más sano para las agregaciones voluminosas y las marcas (mark cache). En cuanto a la CPU, de 2 a 4 vCPU permiten paralelizar las consultas. El disco es crítico: opte por SSD NVMe con al menos 50 a 100 GB según su volumen y su retención, sabiendo que la compresión reduce la huella real. Necesitará Docker, un dominio si expone la interfaz HTTP, y una atención particular al parámetro max_memory_usage para evitar que una consulta tumbe el servidor. Evite exponer el puerto nativo 9000 directamente en Internet.

Desplegar ClickHouse paso a paso

  1. Preparar el VPS

    Instale Docker y aumente los límites del sistema (ulimit -n a 262144), porque ClickHouse abre muchos descriptores de archivo. Desactive el swap excesivo y compruebe que el disco es realmente SSD NVMe.

  2. Lanzar ClickHouse con Docker

    Utilice la imagen oficial clickhouse/clickhouse-server. Monte tres volúmenes persistentes: /var/lib/clickhouse (datos), /var/log/clickhouse-server (logs) y una carpeta de configuración /etc/clickhouse-server/config.d. Añada ulimits: nofile: 262144 en el compose.

  3. Crear un usuario y una contraseña

    Nunca deje al usuario default sin contraseña. Cree un archivo users.d/custom.xml con un usuario dedicado, una contraseña con hash (echo -n motdepasse | sha256sum) y cuotas. Restrinja <networks> a las IP autorizadas.

  4. Ajustar la memoria y el perfil

    En config.d, fije max_server_memory_usage_to_ram_ratio en 0.8 y defina un max_memory_usage por consulta adaptado a su VPS para evitar los OOM. Active la retención de las particiones con un TTL en sus tablas (TTL date + INTERVAL 90 DAY).

  5. Exponer la interfaz HTTP detrás de un reverse proxy

    ClickHouse expone una API HTTP en el puerto 8123. Ponga Nginx o Caddy delante para el TLS y una autenticación adicional, y no abra el puerto nativo 9000 al público. Reserve el acceso nativo a la red interna o mediante un túnel SSH.

  6. Conectar una herramienta de visualización

    Conecte Grafana o Metabase al endpoint HTTPS para construir sus paneles. Cree sus tablas con el motor MergeTree, elija un ORDER BY pertinente y particione por mes para obtener consultas y purgas eficientes.

Instalarlo con un solo clic desde el Marketplace de ServOrbit

Todo lo anterior se hace a mano, y es útil saber hacerlo. Si prefiere no hacerlo, ClickHouse figura en el Marketplace de ServOrbit y se instala en su VPS con un solo clic. La plantilla despliega la versión 26.3 LTS fijada, monta los volúmenes persistentes para los datos y los registros, eleva el límite de descriptores de archivo a 262144 tal como exige ClickHouse, y crea una base de datos analytics en el primer arranque. Sobre todo, cierra la trampa más habitual del despliegue manual: la imagen de origen incluye una cuenta default sin ninguna contraseña, y la instalación la retira en el arranque para sustituirla por una cuenta admin cuya contraseña se genera para su servidor y se muestra en su área de cliente. Solo se publica el puerto 8123, y únicamente en la interfaz de bucle local: asocie un dominio y la consola SQL integrada responde en https://<votre-domaine>/play con su certificado TLS; sin dominio, pase por un túnel ssh -L 8123:127.0.0.1:8123 root@<ip-du-vps> y después http://localhost:8123/play.

La elección de la clave de ordenación (ORDER BY) del motor MergeTree es el factor decisivo del rendimiento: coloque primero las columnas más filtradas en sus consultas (a menudo una fecha y un identificador). Utilice tablas Buffer o inserciones por lotes de varios miles de filas en lugar de inserciones fila por fila, que crean multitud de particiones pequeñas y disparan merges costosos. Vigile system.merges y system.parts para detectar una fragmentación excesiva.

Despliegue ClickHouse con un solo clic en un VPS ServOrbit

Versión 26.3 LTS fijada, volúmenes persistentes, cuenta de administrador generada: el almacén analítico listo para recibir sus eventos.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva