Saltar al contenido principal
Esta guía muestra cómo migrar de un servidor de ClickHouse autogestionado a ClickHouse Cloud, así como cómo migrar entre servicios de ClickHouse Cloud. La función remoteSecure se utiliza en consultas SELECT e INSERT para permitir el acceso a servidores remotos de ClickHouse, lo que simplifica la migración de tablas hasta el punto de que basta con escribir una consulta INSERT INTO con un SELECT incrustado.

Migración de ClickHouse autogestionado a ClickHouse Cloud

Independientemente de si la tabla de origen está segmentada y/o replicada, en ClickHouse Cloud solo necesita crear una tabla de destino (puede omitir el parámetro Engine de esta tabla; SharedMergeTree se seleccionará automáticamente como motor de tabla), y ClickHouse Cloud se encargará automáticamente del escalado vertical y horizontal. No necesita preocuparse por cómo replicar y segmentar la tabla. En este ejemplo, el servidor ClickHouse autogestionado es el origen y el servicio de ClickHouse Cloud es el destino.

Descripción general

El proceso es:
  1. Añada un usuario de solo lectura al servicio de origen
  2. Duplique la estructura de la tabla de origen en el servicio de destino
  3. Extraiga los datos del origen al destino, o envíelos desde el origen, según la conectividad de red del origen
  4. Elimine el servidor de origen de la lista de acceso IP del destino (si corresponde)
  5. Elimine el usuario de solo lectura del servicio de origen

Migración de tablas de un sistema a otro:

Este ejemplo muestra cómo migrar una tabla desde un servidor de ClickHouse autogestionado a ClickHouse Cloud.
CompatibilidadSi observas diferencias de comportamiento entre tu implementación autogestionada de ClickHouse y tu servicio de ClickHouse Cloud, puede deberse al ajuste de compatibilidad. En Cloud, la compatibilidad se establece al crear un servicio y no cambia a nivel de servicio, para garantizar que los clientes obtengan un comportamiento coherente incluso cuando el servicio se actualiza. Si deseas cambiar la compatibilidad, puedes solicitarlo a través de soporte.

En el sistema ClickHouse de origen (el sistema que aloja actualmente los datos)

  • Añada un usuario de solo lectura con permiso para leer la tabla de origen (db.table en este ejemplo)
  • Copie la definición de la tabla

En el sistema ClickHouse Cloud de destino:

  • Cree la base de datos de destino:
  • Use la sentencia CREATE TABLE del origen para crear el destino.
Cambie el ENGINE a ReplicatedMergeTree sin ningún parámetro al ejecutar la sentencia CREATE. ClickHouse Cloud siempre replica las tablas y proporciona los parámetros correctos. No obstante, mantenga las cláusulas ORDER BY, PRIMARY KEY, PARTITION BY, SAMPLE BY, TTL y SETTINGS.
  • Usa la función remoteSecure para extraer los datos del origen autogestionado
Si no se puede acceder al sistema de origen desde redes externas, puede enviar los datos en lugar de extraerlos, ya que la función remoteSecure funciona tanto para consultas como para inserciones. Consulte la siguiente opción.
  • Use la función remoteSecure para enviar los datos al servicio de ClickHouse Cloud
Agregue el sistema remoto a la lista de acceso IP de su servicio de ClickHouse CloudPara que la función remoteSecure pueda conectarse a su servicio de ClickHouse Cloud, la dirección IP del sistema remoto debe estar permitida en la lista de acceso IP. Expanda Administrar su lista de acceso IP debajo de este consejo para obtener más información.
En la lista de servicios de ClickHouse Cloud, elige el servicio con el que vas a trabajar y ve a Settings. Si la IP Access List no incluye la dirección IP o el rango de direcciones del sistema remoto que necesita conectarse a tu servicio de ClickHouse Cloud, puedes solucionarlo con Add IPs:Agrega la dirección IP concreta o el rango de direcciones que deben conectarse a tu servicio de ClickHouse Cloud. Ajusta el formulario según sea necesario y luego haz clic en Save.

Migración entre servicios de ClickHouse Cloud

Algunos casos de uso para migrar datos entre servicios de ClickHouse Cloud:
  • Migrar datos desde una copia de seguridad restaurada
  • Copiar datos de un servicio de desarrollo a un servicio de staging (o de staging a producción)
En este ejemplo hay dos servicios de ClickHouse Cloud, a los que nos referiremos como origen y destino. Los datos se extraerán del origen al destino. Aunque también podría usar push si lo prefiere, aquí se muestra pull porque utiliza un usuario de solo lectura. La migración consta de varios pasos:
  1. Identifique un servicio de ClickHouse Cloud como origen y el otro como destino
  2. Añada un usuario de solo lectura al servicio de origen
  3. Duplique la estructura de la tabla de origen en el servicio de destino
  4. Permita temporalmente el acceso por IP al servicio de origen
  5. Copie los datos del origen al destino
  6. Restablezca la lista de acceso IP en el destino
  7. Elimine el usuario de solo lectura del servicio de origen

Añade un usuario de solo lectura al servicio de origen

  • Añade un usuario de solo lectura que pueda leer la tabla de origen (db.table en este ejemplo)
  • Copia la definición de la tabla

Duplicar la estructura de la tabla en el servicio de destino

En el destino, cree la base de datos si todavía no existe:
  • Cree la base de datos de destino:
  • Usando la sentencia CREATE TABLE del origen, cree la tabla en el destino. En el destino, cree la tabla usando la salida de select create_table_query... del origen:

Permita el acceso remoto al servicio de origen

Para poder transferir datos del origen al destino, el servicio de origen debe permitir las conexiones. Desactive temporalmente la funcionalidad “lista de acceso IP” en el servicio de origen.
Si va a seguir usando el servicio de origen de ClickHouse Cloud, exporte la lista de acceso IP existente a un archivo JSON antes de pasar a permitir el acceso desde cualquier lugar; así podrá volver a importar la lista de acceso después de migrar los datos.
Modifique la lista de acceso permitida y permita temporalmente el acceso desde Anywhere. Consulte la documentación de lista de acceso IP para obtener más información.

Copie los datos del servicio de origen al servicio de destino

  • Use la función remoteSecure para extraer los datos del servicio de ClickHouse Cloud de origen Conéctese al servicio de destino. Ejecute este comando en el servicio de ClickHouse Cloud de destino:
  • Verifique los datos en el servicio de destino

Restablecer la lista de acceso IP en el origen

Si exportó antes la lista de acceso, puede volver a importarla con Share; de lo contrario, vuelva a añadir sus direcciones IP a la lista de acceso.

Eliminar el usuario exporter de solo lectura

  • Cambie la lista de acceso IP del servicio para restringir el acceso
Última modificación el 19 de junio de 2026