Saltar al contenido principal

Pregunta

Estoy escribiendo datos en ClickHouse Cloud y necesito poder garantizar, al leerlos, que obtengo la información completa más reciente.

Respuesta

Comunicarse con el mismo nodo

Si utiliza el protocolo nativo o una sesión para realizar la escritura/lectura, debería estar conectado a la misma réplica: en este caso, leerá directamente desde el nodo en el que está escribiendo, por lo que la lectura siempre será coherente.

Hablar con un nodo aleatorio

Si no puedes garantizar que te estás comunicando con el mismo nodo (por ejemplo, si accedes al nodo mediante llamadas HTTPS que un balanceador de carga redistribuye), puedes optar por una de estas dos alternativas: A)
  1. escribe tus datos
  2. conéctate a otra réplica
  3. ejecuta SYSTEM SYNC REPLICA db.table_name LIGHTWEIGHT
  4. lee los datos más recientes
Consulta la referencia de los comandos SYSTEM O B) lee en cualquier momento con consistencia secuencial
SELECT 
...
SETTINGS select_sequential_consistency = 1
Ten en cuenta que, al usar ClickHouse Cloud y su motor de tabla SharedMergeTree predeterminado, no es necesario usar insert_quorum_parallel: todas las inserciones en SharedMergeTree son inserciones con quórum (por diseño). Usar SYSTEM SYNC REPLICAS o select_sequential_consistency aumentará la carga en ClickHouse Keeper y puede reducir el rendimiento, según la carga del servicio. El enfoque recomendado es realizar la escritura y la lectura usando la misma sesión o el protocolo nativo (conexión persistente).
Última modificación el 10 de junio de 2026